C# 如何在UserControl中从自定义WPF窗口到父窗口获取结果
下面是我如何获得messagebox的。现在我希望它返回userControl中的特定值。有什么帮助吗?在关闭窗口之前,在窗口本身中设置窗口的C# 如何在UserControl中从自定义WPF窗口到父窗口获取结果,c#,.net,wpf,C#,.net,Wpf,下面是我如何获得messagebox的。现在我希望它返回userControl中的特定值。有什么帮助吗?在关闭窗口之前,在窗口本身中设置窗口的对话框result。 设置的值将由ShowDialog()返回 如果您想返回多个bool?,请创建一个包装器方法,该方法调用ShowDialog(),并返回您想要的任何内容。关闭前在窗口本身中设置窗口的对话框结果。 设置的值将由ShowDialog()返回 如果您想返回多个bool?,请创建一个包装器方法,该方法调用ShowDialog(),并返回您想要的
对话框result
。设置的值将由
ShowDialog()返回
如果您想返回多个bool?
,请创建一个包装器方法,该方法调用ShowDialog()
,并返回您想要的任何内容。关闭前在窗口本身中设置窗口的对话框结果。
设置的值将由ShowDialog()返回
如果您想返回多个bool?
,请创建一个包装器方法,该方法调用ShowDialog()
,并返回您想要的任何内容。正如@SLaks所说,使用对话框reslult。。。如果这还不够,并且您使用的是MVVM模型,然后您可以使用您的数据模型:将子窗口的DataContext
设置为您的数据模型实例,然后您可以将子窗口中的控件绑定到模型上的任何数据成员——通常您会将DataContext
设置为父窗口的DataContext
protected popMyWindow()
{
MyChildWindow cw = new MyChildWindow();
cw.DataContext = this.DataContext();
// show the window...
}
正如@SLaks所说,使用对话框reslult。。。如果这还不够,并且您使用的是MVVM模型,然后您可以使用您的数据模型:将子窗口的DataContext
设置为您的数据模型实例,然后您可以将子窗口中的控件绑定到模型上的任何数据成员——通常您会将DataContext
设置为父窗口的DataContext
protected popMyWindow()
{
MyChildWindow cw = new MyChildWindow();
cw.DataContext = this.DataContext();
// show the window...
}
这些问题的WPF解决方案是“页面函数”
PageFunction是WPF中定义的一个新术语。它使用户能够导航到特定页面并执行任务,然后导航回包含结果的调用者页面。它的行为就像模态对话框,不同之处在于PageFunction不会显示为s弹出窗口,而是显示在与调用者相同的页面中。
资料来源:
它与包装ShowDialog的模式的不同之处在于页面被导航到,更重要的是,它已经在WPF管道中被强类型化了,并且不需要您开发一个新类来做同样的事情
这里有一个解释性的堆栈溢出线程
这些问题的WPF解决方案是“页面功能”
PageFunction是WPF中定义的一个新术语。它使用户能够导航到特定页面并执行任务,然后导航回包含结果的调用者页面。它的行为就像模态对话框,不同之处在于PageFunction不会显示为s弹出窗口,而是显示在与调用者相同的页面中。
资料来源:
它与包装ShowDialog的模式的不同之处在于页面被导航到,更重要的是,它已经在WPF管道中被强类型化了,并且不需要您开发一个新类来做同样的事情
这里有一个解释性的堆栈溢出线程
这很好,唯一需要注意的是,该应用程序需要是一个“导航应用程序”,可能是WPF的先辈们认为,如果您需要从对话框中获取一些信息,那么无论如何,您都隐含在导航上下文中。我们的想法是:在502认证考试中,在不同的上下文中,PageFunction会出现多次。这就是为什么我使用“WPF解决方案”这句话的原因:)这很好,唯一需要注意的是,该应用程序需要是一个“导航应用程序”,可能是WPF的先辈们认为,如果你需要从对话框中获取一些东西,你无论如何都隐含在导航上下文中。我们的想法是:在502认证考试中,在不同的上下文中,PageFunction会出现多次。这就是我使用“WPF解决方案”这一短语的原因: