How to use WPF window as a messagebox?这是我能够获得messagebox的方式。现在我希望它返回userControl中的某个值。有什么帮助吗?
答案 0 :(得分:1)
关闭之前,在窗口中设置窗口DialogResult
您设置的值将由ShowDialog()
如果要返回的值超过bool?
,请创建一个调用ShowDialog()
的包装器方法并返回所需的内容。
答案 1 :(得分:1)
正如@SLaks所说,使用DialogReslult ...如果这还不够并且您使用的是MVVM模型,那么您可以使用您的数据模型:将子窗口的DataContext
设置为您的数据模型然后,您可以将子窗口中的控件绑定到模型上的任何数据成员 - 通常您将DataContext
设置为父窗口的DataContext
...
protected popMyWindow()
{
MyChildWindow cw = new MyChildWindow();
cw.DataContext = this.DataContext();
// show the window...
}
答案 2 :(得分:1)
针对这些问题的WPF解决方案是“页面功能”。
PageFunction是WPF中定义的新术语。它使用户能够导航到特定页面并执行任务,然后导航回调用者页面并显示结果。它的行为与Modal Dialogbox类似,区别在于PageFunction不会显示为弹出窗口,而是显示在与调用者相同的页面中。
它与ShowDialog的包装模式的不同之处在于页面被导航到,更重要的是,它已经在WPF管道中强类型,并且不需要你开发一个新类来做同样的事情。 / p>
这里有一个解释StackOverflow线程......