Flyout - WPF (mahApps)

本文关键字:mahApps WPF Flyout | 更新日期: 2023-09-27 18:15:47

当点击他或在窗口的另一侧时,我试图关闭一个飞出,我使用ExternalCloseButton=Left属性。这样可以吗?我还尝试删除属性AutoCloseEnabled,但无法获得结果。

当我使用带有属性EnabledAutoClose的飞出时,关闭时,焦点丢失在它的控制中。

你能帮忙解决这个问题吗?

<mahApps:MetroWindow.Flyouts>
    <mahApps:FlyoutsControl>
        <mahApps:Flyout Position="Bottom"
                        AutoCloseInterval="3000"
                        IsOpen="{Binding IsOpen}"
                        IsAutoCloseEnabled="True"
                        ExternalCloseButton="Left">
        </mahApps:Flyout>
    </mahApps:FlyoutsControl>
</mahApps:MetroWindow.Flyouts>

Flyout - WPF (mahApps)

如果您设置了IsPinned="False",则Flyout将在鼠标左键单击弹出框外关闭。

<Controls:Flyout Height="75"
                 CloseButtonVisibility="Collapsed"
                 IsPinned="False"
                 Position="Bottom"
                 TitleVisibility="Collapsed">
    <TextBlock VerticalAlignment="Center" Text="This is an AppBar" />
</Controls:Flyout>

示例来自主演示。

你可以使用PreviewMouseLeftButtonUp的主窗口或任何视图包含弹出并设置isOpen为false。如果您想仅在用户单击飞出的外部时关闭它,则可以使用飞出的isMouseOver属性进行检查。