AJBM Posted July 13, 2016 at 01:08 PM Report #597638 Posted July 13, 2016 at 01:08 PM Boas! Eu tenho esta view. <Window x:Class="WpfApplication2.Views.MainWindowView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:views="clr-namespace:WpfApplication2.Views" xmlns:prism="http://prismlibrary.com/" prism:ViewModelLocator.AutoWireViewModel="True" Title="MainWindow" Height="350" Width="525"> <Grid> <!--<Ribbon Name="myRibbon" HorizontalAlignment="Left" VerticalAlignment="Top" Width="517" Height="75"> </Ribbon>--> <Grid.RowDefinitions> <RowDefinition Height="37*"/> <RowDefinition Height="282*"/> </Grid.RowDefinitions> <Button Content="View A" HorizontalAlignment="Left" Margin="36,10,0,0" VerticalAlignment="Top" Width="75" Command="{Binding NavigateCommnad}" CommandParameter="ViewA"/> <Button Content="ViewB" HorizontalAlignment="Left" Margin="138,10,0,0" VerticalAlignment="Top" Width="75" Command="{Binding NavigateCommnad}" CommandParameter="ViewB"/> <ContentControl HorizontalAlignment="Left" Margin="50,76,0,0" Grid.Row="1" VerticalAlignment="Top" Width="431" Height="175" prism:RegionManager.RegionName="ContentRegion" > </ContentControl> </Grid> </Window> Quando eu clico no botão ViewA é apresentado um usercontrol dentro da própria window. Eu quero substituir os botões por uma ribbon e quero que cada user control seja responsável por construir a sua própria RibbonTab.(Ribbon groups, Ribbon buttons,...). Mas só quando é clicada. Tenho uma interface IRibbonTab public interface IRibbonTab { void BuildRibbonTab(RibbonTab pRibbonTab); } Todas os UserControls implementam esta interface. public partial class ViewA : UserControl, IRibbonTab { public ViewA() { InitializeComponent(); } public void BuildRibbonTab(RibbonTab pRibbonTab) { RibbonGroup group = new RibbonGroup(); group.Header = "Group1"; RibbonButton button = new RibbonButton(); button.Label = "Button"; group.Items.Add(button); pRibbonTab.Items.Add(group); } } O processo de navegação da Region é definido na MainWindowViewModel public class MainWindowViewModel : BindableBase { private readonly IRegionManager myRegionManager; public DelegateCommand<string> NavigateCommnad { get; set; } public MainWindowViewModel(IRegionManager pRegionManager) { myRegionManager = pRegionManager; NavigateCommnad = new DelegateCommand<string>(Navigate); } private void Navigate(string url) { myRegionManager.RequestNavigate("ContentRegion", url, CallBack); } private void CallBack(NavigationResult obj) { } } A minha dúvida é como é que eu passo RibbonTab que foi clicada para o UserControl. Ps: Se for possível mover este tópico para um quadro mais indicado.
Solution AJBM Posted July 22, 2016 at 06:21 PM Author Solution Report #597777 Posted July 22, 2016 at 06:21 PM Isto http://stackoverflow.com/questions/21966941/how-to-render-a-ribbon-from-data-objects-using-itemssource-and-datatemplates ajudou.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now