0

类 ChildViewModel : ParentViewModel

类 ParentViewModel 有 -> 公共字符串 PropertyA;公共字符串属性B;

我有 2 个屏幕选项卡工作流程,一个用于父级,另一个用于子级(显然取决于父级数据)。我想将 PropertyA 绑定到 childView 中的文本块,这样当我将 screentab 更改为 parentView 并修改 PropertyA 时,它应该自动反映在 childView 中。

我在 childViewModel 中定义了一个属性(排序伪):

public string PropA
get { return PropertyA; }
set
{
PropertyA = value;
OnPropertyChanged("PropertyA");
}

我还尝试了 UpdateSourceTrigger, Mode=twoway 视图中的属性 - WPF。

仍然无法更改属性。

欢迎任何建议....

4

1 回答 1

1

如果 ChildViewModel 如您所示从 ParentViewModel 继承,那么您为什么会有第二个属性 PropA?为什么不直接将 ChildView 绑定到 ParentViewModel.PropertyA?

我假设这不是实际继承,但您希望将 ParentViewModel 事件转发给 ChildViewModel。为此,您需要收听 ParentViewModel 的 PropertyChanged 事件...您可以通过...

// listen to parentViewModel PropertyChanged events
parentViewModel.PropertyChanged += HandleParentPropertyChangedEvents;

如果您关闭或更改 ChildViewModel,请确保删除您的事件处理程序。

在 ChildViewModel 中,您的处理程序将如下所示...

private void HandleParentPropertyChangedEvents(object sender, PropertyChangedEventArgs e)
{
    OnPropertyChanged(e.PropertyName);
}

这将从子级的父级重新触发任何 PropertyChanged 事件。在您的 ChildViewModel 事件处理程序中,您还可以根据需要过滤要转发的属性。

于 2013-04-12T15:58:27.797 回答