2016-10-31 54 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屬性檢查它。