UWP应用的连续体

时间:2016-06-23 20:11:20

标签: uwp continuum

我对UWP应用程序中的Continuum有一些疑问。

  1. 我怎么知道Continuum连接到我的Windows Phone?现在我检查它是DeviceType.MobileUserInteractionMode鼠标。

  2. 如何在Continuum中右键单击鼠标以显示弹出窗口?例如,我在Microsoft Application中看到了这一点。

1 个答案:

答案 0 :(得分:1)

假设您正在使用TextBox控件,默认情况下,如果您在桌面中使用TextBox控件,它将向我们显示ContextMenu并在我们右键单击TextBox时触发ContextMenuOpening事件,但是如果我们使用TextBox在Mobile中控制,当我们右键单击TextBox时,ContextMenu将不会显示,并且ContextMenuOpening事件也不会触发。因为像“粘贴”这样的ContextMenu将显示在屏幕键盘上。

如果要在使用Continuum时显示ContextMenu,则有两种解决方法。 一种解决方法是单击物理键盘中的“Shift + F10”,之后应显示ContextMenu并触发ContextMenuOpening事件。 其他解决方法是处理TextBox的DoubleTapped事件,并在事件中显示一个新的Flyout,如下所示:

在MainPage.xaml中:

<TextBox Height="50" DoubleTapped="TextBox_DoubleTapped">
      <FlyoutBase.AttachedFlyout>
          <MenuFlyout>
              <MenuFlyoutItem x:Name="EditButton" Text="Some Command" />
              <MenuFlyoutItem x:Name="DeleteButton" Text="Some Command" />
          </MenuFlyout>
     </FlyoutBase.AttachedFlyout>
</TextBox>

在MainPage.xaml.cs中:

private void TextBox_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e)
    {
        FrameworkElement senderElement = sender as FrameworkElement;
        FlyoutBase flyoutBase = FlyoutBase.GetAttachedFlyout(senderElement);
        flyoutBase.ShowAt(senderElement);
    }