2011-11-29 39 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