我有点迷失,我在ContextFlyout
中有一个TextBlock
,它可以点击鼠标右键,但我希望它能够点击鼠标左键。
我该怎么做?这是显示菜单的错误方法吗?
<TextBlock x:Name="Livro1Texto" Text="Livro 1" >
<TextBlock.ContextFlyout>
<MenuFlyout>
<MenuFlyoutSubItem Text="Título I Da Lei Criminal">
<MenuFlyoutSubItem Text="Princípios Gerais">
<MenuFlyoutItem Text="Artigo 1º Princípio da legalidade" x:Name="Art1Fly" Click="Art1Fly_Click"/>
<MenuFlyoutItem Text="Artigo 2º Aplicação no tempo" x:Name="Art2Fly" Click="Art2Fly_Click"/>
<MenuFlyoutItem Text="Artigo 3º Momento da prática do fato" />
<MenuFlyoutItem Text="Artigo 4º Aplicação no espaço: princípio geral"/>
<MenuFlyoutItem Text="Artigo 5º Fatos praticados fora do território português"/>
<MenuFlyoutItem Text="Artigo 6º Restrições à aplicação da lei portuguesa"/>
<MenuFlyoutItem Text="Artigo 7º Lugar da pratica do fato" />
<MenuFlyoutItem Text="Artigo 8º Aplicação subsidiária do Código Penal"/>
<MenuFlyoutItem Text="Artigo 9º Disposições especiais para jovens"/>
</MenuFlyoutSubItem>
</MenuFlyoutSubItem>
<MenuFlyoutItem Text="Título II Do Facto"/>
</MenuFlyout>
</TextBlock.ContextFlyout>
</TextBlock>
答案 0 :(得分:1)
但是我希望它能够用鼠标左键单击。我该怎么做?
根据您的要求,您可以使用FlyoutBase.AttachedFlyout
来实现此功能。
要将MenuFlyout
与TextBlock
相关联,请使用FlyoutBase.AttachedFlyout附加属性。使用MenuFlyout
将FlyoutBase.AttachedFlyout
分配给其他UI元素时,您必须调用ShowAt
方法或静态ShowAttachedFlyout
方法才能显示弹出窗口。
<TextBlock x:Name="Livro1Texto" Text="Livro 1" VerticalAlignment="Center" HorizontalAlignment="Center" Tapped="Livro1Texto_Tapped">
<FlyoutBase.AttachedFlyout>
<MenuFlyout>
<MenuFlyoutSubItem Text="Título I Da Lei Criminal">
<MenuFlyoutSubItem Text="Princípios Gerais">
<MenuFlyoutItem Text="Artigo 1º Princípio da legalidade" x:Name="Art1Fly" Click="Art1Fly_Click" />
<MenuFlyoutItem Text="Artigo 2º Aplicação no tempo" x:Name="Art2Fly" Click="Art2Fly_Click" />
<MenuFlyoutItem Text="Artigo 3º Momento da prática do fato" />
<MenuFlyoutItem Text="Artigo 4º Aplicação no espaço: princípio geral" />
<MenuFlyoutItem Text="Artigo 5º Fatos praticados fora do território português" />
<MenuFlyoutItem Text="Artigo 6º Restrições à aplicação da lei portuguesa" />
<MenuFlyoutItem Text="Artigo 7º Lugar da pratica do fato" />
<MenuFlyoutItem Text="Artigo 8º Aplicação subsidiária do Código Penal" />
<MenuFlyoutItem Text="Artigo 9º Disposições especiais para jovens" />
</MenuFlyoutSubItem>
</MenuFlyoutSubItem>
<MenuFlyoutItem Text="Título II Do Facto" />
</MenuFlyout>
</FlyoutBase.AttachedFlyout>
</TextBlock>
在ShowAttachedFlyout
TextBlock
事件处理程序中调用Tapped
。
private void Livro1Texto_Tapped(object sender, TappedRoutedEventArgs e)
{
FrameworkElement element = sender as FrameworkElement;
if (element != null)
{
FlyoutBase.ShowAttachedFlyout(element);
}
}