Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

AJBM

[Resolvido] Criar Ribbon

Mensagens Recomendadas

AJBM

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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.