我对UWP应用程序中的Continuum有一些疑问。
我怎么知道Continuum连接到我的Windows Phone?现在我检查它是DeviceType.Mobile
和UserInteractionMode
鼠标。
如何在Continuum中右键单击鼠标以显示弹出窗口?例如,我在Microsoft Application中看到了这一点。
答案 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);
}