如何在mahapps中单击wpf中的“外部窗口”时关闭弹出窗口?

如何在mahapps中单击wpf中的“外部窗口”时关闭弹出窗口?,wpf,xaml,mahapps.metro,flyout,Wpf,Xaml,Mahapps.metro,Flyout,我在WPF应用程序中有一个弹出窗口和测试窗口。我需要的是,我需要在弹出按钮外单击时关闭窗口。我将Panel.Zindex设置为可见顶部。我已经尝试了一个工作正常的代码。但它不知道我是在弹出窗口内还是在弹出窗口外单击。每当我在主屏幕内点击时,它就会关闭 以下是我的xaml代码: xmlns:metro="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro" <metro:Flyout x:Name="flyOutCont

我在WPF应用程序中有一个弹出窗口和测试窗口。我需要的是,我需要在弹出按钮外单击时关闭窗口。我将Panel.Zindex设置为可见顶部。我已经尝试了一个工作正常的代码。但它不知道我是在弹出窗口内还是在弹出窗口外单击。每当我在主屏幕内点击时,它就会关闭

以下是我的xaml代码:

xmlns:metro="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"

 <metro:Flyout x:Name="flyOutControl" IsOpen="False" Background="#5D7BA5"      Foreground="White"
                                  Grid.Row="0" Grid.RowSpan="4" Grid.Column="0" Grid.ColumnSpan="2" Panel.ZIndex="50"
                                  Width="400" Height="auto">


                            <TreeView x:Name="treeviewBreadcrumb" Width="350"
                                      HorizontalAlignment="Left" FontSize="20"
                                      Background="Transparent" Foreground="White"                                 
                                    VerticalAlignment="Top">

                                <TreeView.ItemContainerStyle>
                                    <Style TargetType="{x:Type TreeViewItem}">
                                        <Setter Property="IsExpanded" Value="True"/>                                            
                                        <Setter Property="Margin" Value="5"/>
                                        <Setter Property="Foreground" Value="White"/>                                            
                                    </Style>
                                </TreeView.ItemContainerStyle>                                    

                            </TreeView>

                    </metro:Flyout>
如果我在测试窗口屏幕中,我可以将Isopen属性设置为true。 如果我在任何其他窗口外单击,如何关闭此窗口


任何帮助都是非常感激的。。提前感谢。

在弹出按钮上将isPinned属性设置为false,如下所示:

<metro:Flyout IsPinned="False"></metro:Flyout>

在弹出型按钮上将isPinned属性设置为false,如下所示:

<metro:Flyout IsPinned="False"></metro:Flyout>

检查metro:弹出按钮是否具有IsLightDismissEnabled属性。如果是,则将其设置为true。或者,如果您的控件中有经典弹出窗口,请将此属性设置为true。我没有此属性。请尝试检查是否存在属性ispinned检查metro:弹出按钮是否具有IsLightDismissEnabled属性。如果是,则将其设置为true。或者,如果您的控件中有经典弹出窗口,请将此属性设置为true。我没有此属性。请尝试检查是否已输入exist属性