Advertisement
Guest User

Untitled

a guest
Jul 28th, 2015
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.45 KB | None | 0 0
  1. public class RibbonRegionAdapter : RegionAdapterBase<Ribbon>
  2. {
  3. private Ribbon _ribbonTarget;
  4.  
  5. public RibbonRegionAdapter(IRegionBehaviorFactory regionBehaviorFactory)
  6. : base(regionBehaviorFactory)
  7. {
  8.  
  9. }
  10.  
  11. protected override void Adapt(IRegion region, Ribbon regionTarget)
  12. {
  13. _ribbonTarget = regionTarget;
  14.  
  15. region.Views.CollectionChanged += delegate {
  16. foreach (RibbonTab tab in region.Views.Cast<RibbonTab>())
  17. {
  18. if (!_ribbonTarget.Items.Contains(tab))
  19. {
  20. _ribbonTarget.Items.Add(tab);
  21. }
  22. }
  23. };
  24. }
  25.  
  26. protected override IRegion CreateRegion()
  27. {
  28. return new SingleActiveRegion();
  29. }
  30. }
  31.  
  32. protected override RegionAdapterMappings ConfigureRegionAdapterMappings()
  33. {
  34. RegionAdapterMappings mappings = base.ConfigureRegionAdapterMappings();
  35.  
  36. if (mappings != null)
  37. {
  38. mappings.RegisterMapping(typeof(Ribbon), this.Container.Resolve<RibbonRegionAdapter>());
  39. }
  40.  
  41.  
  42. return mappings;
  43. }
  44.  
  45. <ribbon:RibbonTab x:Class="CarManager.Modules.CarModule.Views.CarRibbonTab"
  46. xmlns:ribbon="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary"
  47. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  48. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  49. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  50. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  51. mc:Ignorable="d"
  52. Header="Officers">
  53. <ribbon:RibbonGroup Header="New">
  54.  
  55. </ribbon:RibbonGroup>
  56. <ribbon:RibbonGroup Header="Manage">
  57. <ribbon:RibbonButton Label="Make"
  58. LargeImageSource="..Resourcesmake.png" />
  59. <ribbon:RibbonButton Label="Inventory"
  60. LargeImageSource="..ResourcesInventory.png" />
  61. <ribbon:RibbonButton Label="Assignments" />
  62. </ribbon:RibbonGroup>
  63. </ribbon:RibbonTab>
  64.  
  65. public partial class CarRibbonTab: RibbonTab
  66. {
  67. public CarRibbonTab()
  68. {
  69. InitializeComponent();
  70. }
  71. }
  72.  
  73. <ribbon:Ribbon DockPanel.Dock="Top" Title="CarManager" prism:RegionManager.RegionName="RibbonRegion">
  74. <ribbon:Ribbon.ApplicationMenu>
  75. <ribbon:RibbonApplicationMenu SmallImageSource="ImagesIcon.png">
  76. <ribbon:RibbonApplicationMenuItem Header="Exit"
  77. ImageSource="ImagesExitIcon.png"/>
  78. </ribbon:RibbonApplicationMenu>
  79. </ribbon:Ribbon.ApplicationMenu>
  80.  
  81. </ribbon:Ribbon>
  82.  
  83. public class CarModule: IModule
  84. {
  85. private readonly IRegionManager _regionManager;
  86. private readonly IUnityContainer _container;
  87. public MenuItemViewModel MenuItem;
  88.  
  89. public CarModule(IUnityContainer container, IRegionManager regionManager)
  90. {
  91. _container = container;
  92. _regionManager = regionManager;
  93. }
  94.  
  95. public void Initialize()
  96. {
  97. //Ribbon
  98. _container.RegisterType<Object, CarRibbonTab>("CarRibbonTab");
  99.  
  100. _regionManager.AddToRegion("RibbonRegion", _container.Resolve<CarRibbonTab>());
  101. }
  102. }
  103.  
  104. var tab1= new Uri("Tab1", UriKind.Relative);
  105. regionManager.RequestNavigate("RibbonRegion", tab1);
  106.  
  107. var tab2= new Uri("Tab2", UriKind.Relative);
  108. regionManager.RequestNavigate("RibbonRegion", tab2);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement