WPF通过附加属性控制窗口关闭
程序员文章站
2024-02-06 20:58:58
场景1 当使用 ShowDialog() 方式显示窗口时,通过定义附加属性的方式可实现在 ViewModel 中进行数据绑定(bool?)来控制子窗口的显示和关闭 参考地址: "Getting “DialogResult can be set only after Window is created ......
场景1
当使用 showdialog() 方式显示窗口时,通过定义附加属性的方式可实现在 viewmodel 中进行数据绑定(bool?)来控制子窗口的显示和关闭
public class exwindow { public static bool? getdialogresult(dependencyobject obj) { return (bool?)obj.getvalue(dialogresultproperty); } public static void setdialogresult(dependencyobject obj, bool value) { obj.setvalue(dialogresultproperty, value); } // using a dependencyproperty as the backing store for dialogresult. this enables animation, styling, binding, etc... public static readonly dependencyproperty dialogresultproperty = dependencyproperty.registerattached("dialogresult", typeof(bool?), typeof(exwindow), new propertymetadata(true, (d, e) => { var handler = d as window; handler.dialogresult = e.newvalue as bool?; })); }
- 参考地址:
场景2
当主窗口的显示和关闭也想通过在 viewmodel 中来进行控制的话可以通过事件和消息级制来实现,具体可参考 mvvm light 中的 messenger 使用方式
上一篇: ASP开发中遇到的错误信息中文说明大全
下一篇: 数字转换成字母帮助类