【问题标题】:Multibinding not firing when the bound properties change绑定属性更改时不会触发多重绑定
【发布时间】:2012-05-08 14:33:52
【问题描述】:

我有一个 wpf wpplication,其中包含许多用户控件。其中一个控件有一个名为ButtonsEnabled 的属性。这是用户控件中的布尔 DependencyProperty。该属性绑定到该控件上几个按钮的 IsEnabled 属性。

此用户控件用于MainWindowMainWindow 中有几个视图模型对象,分别称为 EocMonitorComMonitor。它们都来自实现INotifyPropertyChanged 的抽象基类。 UserControl 上的ButtonsEnabled 属性使用多重绑定和实现我编写的IMultiConverter 的类绑定到Status 属性。

问题在于,即使在 Status 属性更改时引发了 PropertyChanged 事件,但在最初调用 IMultiConverter 后并未调用它,因此 ButtonsEnabled 属性的值不会更改。因此,按钮无法启用。

我需要做什么才能完成这项工作?

【问题讨论】:

  • 添加源代码,SO很容易说出你需要什么。
  • 您可能必须将UpdateSourceTrigger 设置为PropertyChanged。我无法确定,因为您没有发布任何源代码!
  • UpdateSourceTrigger 设置为 PropertyChanged

标签: wpf data-binding multibinding


【解决方案1】:

在我们达到此版本的代码冻结之前,我已经没有时间解决这个问题了。我所做的是将ButtonsEnabled DepdendencyProperty 添加到MainWindow 类并将其绑定到用户控件的ButtonsEnabled 属性。然后,我在 MainWindow 中添加了一个 PropertyChanged 事件处理程序,并在创建 DbMonitorComMonitor 对象时将其注册。然后我在PropertyChanged 事件处理程序中编写代码来正确设置MainWindowButtonsEnabled

一切正常,我会担心稍后让另一种方法正常工作。也许吧。

【讨论】:

    猜你喜欢
    • 2015-08-11
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 2016-07-02
    • 2013-01-14
    • 2021-09-01
    • 1970-01-01
    • 2010-11-04
    相关资源
    最近更新 更多