我在 AppBarButton 中嵌入了一个 Flyout,如下所示:
<AppBarButton x:Name="appbarbtnOpenPhotosets" Icon="OpenFile" Label="Open Existing Photoset[s]" AutomationProperties.Name="Open File" Tapped="appbarbtnOpenPhotosets_Tapped" >
<Button.Flyout>
. . .
</Button.Flyout>
</AppBarButton>
在某些情况下,我想首先向用户展示在看到 Flyout 之前重命名文件的机会。我试着看看这是否会像这样工作:
async private void appbarbtnOpenPhotosets_Tapped(object sender, TappedRoutedEventArgs args)
{
// Want to conditionally postpone the operation
bool myBucketsGotAHoleInIt = PhotraxUtils.GetLocalSetting(CAINT_BUY_NO_BEER);
if (myBucketsGotAHoleInIt)
{
MessageDialog dlgDone = new MessageDialog("Can you see me now?");
await dlgDone.ShowAsync();
args.Handled = false; // <= adding this made no difference
}
}
这很有效,因为我看到“你现在能看到我吗?” 对话框,但这会阻止 Flyout 飞出。不会飞出的 Flyout 并不比不会在空中移动的飞鼠或鱼更有用。
那么我怎样才能暂时抑制我的弹出,然后再调用它呢?Flyout 没有 Open() 方法……还有其他方法可以调用它吗?