C# WPF-如何在使用MVVM从主窗口调用ChildWindow时隐藏该窗口上的按钮
我有两个WPF表单(C# WPF-如何在使用MVVM从主窗口调用ChildWindow时隐藏该窗口上的按钮,c#,wpf,mvvm,C#,Wpf,Mvvm,我有两个WPF表单(MainWindow和ChildWindow),它们的不同视图模型已经就位(MainViewModel和ChildViewModel)来管理事件 当我单击main窗口上的菜单项打开ChildWindow时,我希望在ChildWindow中隐藏一个特定的按钮 如何使用MVVM执行此操作?在子窗口的VM上 放置一个布尔属性(与VM上的其他属性一样具有更改通知),如果为true,则会显示按钮,如果为false,则会隐藏按钮 在按钮的Visibility属性上,绑定到VM属性,并使用
MainWindow
和ChildWindow
),它们的不同视图模型已经就位(MainViewModel
和ChildViewModel
)来管理事件
当我单击main窗口
上的菜单项打开ChildWindow
时,我希望在ChildWindow
中隐藏一个特定的按钮
如何使用MVVM执行此操作?在子窗口的VM上
Visibility
属性上,绑定到VM属性,并使用布尔值到可见性转换器(已经在页面的资源中定义了一个转换器,当然可以使用它)获取真/假值并将其更改为可见性值本文没有深入了解MVVM的完整历史,但它提供了一个基本示例来帮助您使用MVVM和绑定:
请发布您的代码/xaml您是如何打开
儿童窗口的
以及从哪里打开的?例如,您可以通过从视图中绑定的公共属性返回bool
,将bool
或其他内容传递给它的构造函数,告诉它是否要隐藏按钮。。直到我进入子窗口的viewmodel(构造函数调用?)。然后就是添加参数/属性。至于扩展某些内容而不破坏它,我建议查看事件聚合器
,如PRISM库中的PubSubEvent
、MVVM light或等效工具。