2016-10-31 39 views
-3

我想,当他或窗口的另一侧的点击,我用的是ExternalCloseButton=Left属性来关闭弹出。这个可以吗?我也尝试删除属性AutoCloseEnabled,但无法获得结果。弹出按钮 - WPF(mahApps)

当我使用一个弹出与物业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> 
+2

google translate仍然很烂:( –

回答

1

如果设置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> 

示例来自主演示。希望这可以帮助。

+0

Exellent!Thx !!!! – avechuche

0

您可以使用MainWindow的PreviewMouseLeftButtonUp或包含弹出窗口的任何视图,并将isOpen设置为false。如果只想在用户单击展开工具外侧时关闭它,则可以使用弹出窗口的isMouseOver属性检查它。