菜单弹出鼠标左键单击

时间:2018-03-18 12:34:41

标签: uwp uwp-xaml

我有点迷失,我在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>

1 个答案:

答案 0 :(得分:1)

  

但是我希望它能够用鼠标左键单击。我该怎么做?

根据您的要求,您可以使用FlyoutBase.AttachedFlyout来实现此功能。

要将MenuFlyoutTextBlock相关联,请使用FlyoutBase.AttachedFlyout附加属性。使用MenuFlyoutFlyoutBase.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);
     }
 }