Как закрыть всплывающее окно, когда я нажимаю вне окна в wpf в mahapps?
У меня есть всплывающее окно Flyoout и тестовое окно в моем приложении WPF. Что мне нужно, так это то, что мне нужно закрыть окно, когда я нажимаю за пределами Flyout. Я установил 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 этого всплывающего окна. как я могу закрыть это, если я нажимаю за пределами любого другого окна?
Любая помощь будет очень ценится.. Заранее спасибо..
1 ответ
Установите для свойства isPinned значение false в раскрывающемся меню следующим образом:
<metro:Flyout IsPinned="False"></metro:Flyout>