如何在WPF中创建自定义模式弹出窗口并让它返回值?

时间:2011-12-16 22:00:18

标签: c# wpf

我正在对WPF进行打击,并试着去学习。我很感激你提供的任何建议。

我有一个窗口附有一个页面(通过窗口上的框架)。当你按下页面上的一个按钮时,我想要一个自定义窗口弹出来呈现几个自定义选项并以我选择的方式显示(我现在正在思考我希望它是一个网格,但可能会改变为我继续)。选择后,模态窗口将消失并返回到调用方法(从页面按下按钮)所选选项的值。

我不希望标准窗口对话框带有yes,no,okay,cancel或类似的选项。这实际上只是一个自定义弹出窗口,当用户在弹出窗口中进行选择时,它会向调用者返回一个值。

1 个答案:

答案 0 :(得分:2)

创建一个新的Window子类,您可以根据需要进行布局。然后在按钮单击事件处理程序中,使用myModalWindow.ShowDialog();以模态方式显示它。然后,您可以在窗口类上拥有一个属性,您可以在它关闭后访问该属性以访问结果数据,即:

myModalWindow.ShowDialog();
var data = myModalWindow.SomeResultProperty;

如果你真的想要从方法返回一些东西,我想你可以在你的窗口类上创建自己的公共方法,它在内部调用ShowDialog()然后返回一个值。