问题标签 [wvvm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
138 浏览

wpf - 如何使用 wpf 和 mvvm 中的动态菜单获得正确的 CommandParameter Binding

我在我的 WPF 应用程序中实现了一个动态菜单服务。每个命令可以或应该有不同的命令参数。

问题: 使用我在 xaml 中设置 CommandParamter 绑定的解决方案,命令中的 CanExecute 属性不再更新。

到目前为止我有什么

我正在使用 mvvm-light 和 fody-propertychanged。

这里的菜单类:

此类由 MenuService 使用:

在视图模型的构造函数中,我得到了 MenuService 的实例并添加了一些项目:

然后我在视图模型中有一个可绑定的属性:

这里的命令实现为 RelayCommand:

然后在 MainView 我有以下 xaml:

注意力。xaml 中的 CommandParameter 绑定类型当前不正确。这是另一个问题,我会自己解决。但出于测试目的,它应该可以工作。由于类型错误,它会给我一个例外。

但是,当我在 Style.Trigger 中使用 DataTrigger 进行 CommandParameter 绑定时,CanExecute 属性在运行时不再更新。当我将此部分注释掉时,一切正常。但是我没有CommandParameters。

欢迎任何帮助和建议。

0 投票
0 回答
24 浏览

c# - 如何使用 Prism 从一个视图创建多个视图?

我正在主页上使用 DocumentGroup 构建 UI。DocumentGroup 是一个组件,它为添加到其中的每个新视图创建一个新选项卡。我正在使用 Prism(第一次学习它)并且一切正常,除了我需要我的一些视图能够多次打开并添加到选项卡中,而其他视图只需要一次。我在下面放置的 RequestNavigate 命令查看视图集合并查看视图是否已经创建并且在集合中,如果它只是忽略,如果它不是它创建它。我需要一种方法来告诉 prism,对于这个视图,可以根据需要打开任意数量的视图。

这是我的MainWindowViewModel,也是我的主要导航点:

有人有想法吗?

0 投票
2 回答
105 浏览

c# - 如何使用 MVVM 在 C# WPF 中禁用和启用按钮

我有一个视图模型名称为“SettingsViewModel”,在该视图模型中我正在编写按钮单击功能(bUpdate()

}

我想在开始复制文件时禁用按钮单击,当复制完成后我想重新启用按钮单击。下面是按钮的XML (SettingsView.xml)

我怎样才能在Binding的帮助下做到这一点?