菜单弹出鼠标左键单击
menu flyout mouse left click
我有点迷路了,我在 TextBlock
中有一个 ContextFlyout
,它可以通过鼠标右键单击工作,但我希望它可以通过鼠标左键单击工作。
我该怎么做?这是显示菜单的错误方式吗?
<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>
but I want it to work with left mouse click. How can I do it?
根据您的要求,您可以使用 FlyoutBase.AttachedFlyout
来实现此功能。
要将 MenuFlyout
与 TextBlock
相关联,请使用附加的 FlyoutBase.AttachedFlyout 属性。当使用 FlyoutBase.AttachedFlyout
将 MenuFlyout
分配给其他 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>
在 TextBlock
Tapped
事件处理程序中调用 ShowAttachedFlyout
。
private void Livro1Texto_Tapped(object sender, TappedRoutedEventArgs e)
{
FrameworkElement element = sender as FrameworkElement;
if (element != null)
{
FlyoutBase.ShowAttachedFlyout(element);
}
}
我有点迷路了,我在 TextBlock
中有一个 ContextFlyout
,它可以通过鼠标右键单击工作,但我希望它可以通过鼠标左键单击工作。
我该怎么做?这是显示菜单的错误方式吗?
<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>
but I want it to work with left mouse click. How can I do it?
根据您的要求,您可以使用 FlyoutBase.AttachedFlyout
来实现此功能。
要将 MenuFlyout
与 TextBlock
相关联,请使用附加的 FlyoutBase.AttachedFlyout 属性。当使用 FlyoutBase.AttachedFlyout
将 MenuFlyout
分配给其他 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>
在 TextBlock
Tapped
事件处理程序中调用 ShowAttachedFlyout
。
private void Livro1Texto_Tapped(object sender, TappedRoutedEventArgs e)
{
FrameworkElement element = sender as FrameworkElement;
if (element != null)
{
FlyoutBase.ShowAttachedFlyout(element);
}
}