wpf - 更改多个条件之一时如何设置属性?

标签 wpf mvvm

我有一个按钮,在某些情况下我想禁用它。为了确定这一点,我在 View 中选择了许多控件。为了简化这个问题,两个组合框。

所以 IsEnabled 取决于这两个控件中信息的组合,我需要在更改其中一个时评估新状态。我怎样才能做到这一点?我知道我需要一个多值转换器来确定按钮是否已启用,但我不知道当其中一个组合框中的选择发生更改时如何执行转换器。

编辑:

当我之前说过多值转换器时,我想说的是多绑定(bind)。

可能我还不是很清楚。我想要以下内容:

1.- 一开始按钮被禁用,两个组合框没有选择任何项目。

2.- 当我在其中一个组合框中选择一个项目时,我需要执行用于设置按钮的 IsEnabled 属性的多重绑定(bind)。

当我在任何组合框中选择一个新项目时,重复该过程。

我遇到的问题是我不知道如何对按钮说当我更改任何组合框中的选择时,按钮需要执行多重绑定(bind)来确定 IsEnabled 属性的值。

最佳答案

but I don't know how to execute the converter when the selection in one of the combobox is changed.



只要您绑定(bind)的值是 DependencyProperty 值或(正确)实现的类的一部分 INotifyPropertyChanged ,这将自动发生。您不需要做任何事情来更新这些值。

只需确保绑定(bind)值通知就像它们被直接使用一样,WPF 将在使用 IMultiValueConverter 时处理这个问题。正好。

关于wpf - 更改多个条件之一时如何设置属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16285539/

相关文章:

c# - WPF 数据网格绑定(bind)

c# - WPF,创建自定义 DataGridTextColumn 以防止不需要的字符

c# - 从 FlowDocument 创建 XPS 文档并动态附加它

mvvm - 在哪里可以找到 Caliburn.Micro 1.4 文档?

c# - 是否可以使用触发器 setter 来更改 ViewModel 属性?

wpf - 如何在 WPF 中单击(组合框打开)时更改组合框背景颜色?

c# - 从页面导航的 WPF C# 框架导航

c# - 维护 WPF MVVM View 模型和模型关系

c# - 使用 ReactiveUI 绑定(bind)到组合框中的选定项目

c# - 寻找 C++ 到 WPF/Cocoa 互操作性的跨平台、端到端示例