2011-11-29 76 views
1

我在我的WPF應用程序中創建了一個用戶控件PopupPopup上的一個按鈕創建一個MessageBox,但MessageBox顯示在Popup後面。我試過在Popup上設置Panel.ZIndex,但這沒有什麼不同。我無法真正改變父窗口在MessageBox上,因爲我只有一個窗口,除非有一些方法可以將父窗口設置爲我的Popup控件?
有誰知道如何解決我的問題?消息框顯示在用戶控件彈出後面

回答

2

個人而言,我討厭WPF的內置彈出窗口。我最大的寵兒之一就是它被繪製在所有其他窗口之上(其中包括不屬於WPF應用程序的窗口)

作爲替代方案,我有created my own Popup for WPF這只是一個UserControl,可以被添加到你的主Visual Tree。

+0

我對WPF有點新,而且我在使用控件時遇到了問題。它不會讓我在PopupPanel的內容中有命名控件(ComboBox/etc)。我需要這些來獲得一些價值和東西。 – Marcus

+0

@G_M我忘了那個...我通常將Content'綁定到一個數據對象,併爲該對象設置ContentTemplate或DataTemplate,但有一次我試圖直接向Popup添加內容並去同樣的錯誤。它與WPF有關,不允許您命名屬於UserControl內容的控件。我建議使用'ContentTemplate'來定義彈出模板,儘管我曾經使用過的一種解決方法是在控件的Loaded事件中附加名稱。我一直在尋找更好的解決方案,但還沒有得到解決。 – Rachel