C# 关闭非按钮弹出按钮?
我正在制作一个连接到LayoutRoot网格的弹出按钮C# 关闭非按钮弹出按钮?,c#,windows-runtime,winrt-xaml,windows-8.1,windows-phone-8.1,C#,Windows Runtime,Winrt Xaml,Windows 8.1,Windows Phone 8.1,我正在制作一个连接到LayoutRoot网格的弹出按钮 <Page.Resources> <Flyout x:Key="WinningPopup"> <StackPanel Margin="50,10"> <TextBlock x:Uid="Flyout_VictoryTitle" Text="Victory!"
<Page.Resources>
<Flyout x:Key="WinningPopup">
<StackPanel Margin="50,10">
<TextBlock x:Uid="Flyout_VictoryTitle"
Text="Victory!"
Style="{StaticResource MessageDialogTitleStyle}"
Margin="0,0,0,15"/>
<TextBlock x:Name="Flyout_VictoryDescription"
x:Uid="Flyout_VictoryDescription"
Text="Congratulations!
Score: "
Style="{StaticResource MessageDialogContentStyle}" />
<StackPanel Orientation="Horizontal">
<Button x:Name="btnRestart"
x:Uid="btnRestart"
Click="btnRestart_Click"
Content="[Restart]"
Margin="10"/>
<Button x:Name="btnCancel"
x:Uid="btnCancel"
Click="btnCancel_Click"
Content="[Cancel]"
Margin="10"/>
</StackPanel>
</StackPanel>
</Flyout>
</Page.Resources>
<Grid x:Name="LayoutRoot" FlyoutBase.AttachedFlyout="{StaticResource WinningPopup}">
...
但是如何关闭它呢?我知道用户可以点击“外部”,但我还需要在单击“重新启动”或“取消”按钮时关闭弹出按钮…为其命名
<Page.Resources>
<Flyout x:Name="myFlyout" x:Key="WinningPopup">
// ......
</Flyout>
</Page.Resources>
很难看,但应该有用 你需要先得到它。然后您可以调用
隐藏
FlyoutBase.GetAttachedFlyout((FrameworkElement)LayoutRoot).Hide();
myFlyout.Hide();
public void btnRestart_Click(object sender, RoutedEventArgs)
{
((((sender as Button).Parent as StackPanel).Parent as StackPanel).Parent as Flyout).Hide();
}
FlyoutBase.GetAttachedFlyout((FrameworkElement)LayoutRoot).Hide();