关闭一个非按钮弹出按钮?

the*_*uts 6 c# windows-runtime winrt-xaml windows-8.1 windows-phone-8.1

我正在将一个Flyout附加到LayoutRoot网格.

<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!&#x0a;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}">
...
Run Code Online (Sandbox Code Playgroud)

我打开这个Flyout

FlyoutBase.ShowAttachedFlyout(LayoutRoot);
Run Code Online (Sandbox Code Playgroud)

但是如何关闭呢?我知道用户可以在外面点击,但是当你点击重新启动时我也需要关闭弹出按钮取消按钮...

Chu*_*are 6

给它一个名字

<Page.Resources>
    <Flyout x:Name="myFlyout" x:Key="WinningPopup">
        // ......
    </Flyout>
</Page.Resources>
Run Code Online (Sandbox Code Playgroud)

然后你就可以隐藏()

myFlyout.Hide();
Run Code Online (Sandbox Code Playgroud)

FlyoutBase.Hide方法