通知一类属性更改的所有对象

时间:2014-12-28 07:50:16

标签: c# design-patterns

我有以下类,可以从这个类中实例化很多对象。我希望在所有对象之间共享此Visibility属性。当为一个对象更改可见性时,所有其他对象应具有相同的值。我有每个viewmodel的视图(XAML),它将此Visibility属性绑定到一个元素的可见性。

public class ViewModel
{
    private Visibility visibility = Visibility.Visible;
    public Visibility Visibility
    {
        get { return this.visibility; }
        set { this.CheckAccessInvoke(() => this.SetAndRaisePropertyChanged(ref this.visibility, alue)); }
    }
}

这可能是一个很好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

您需要研究观察者设计模式。简单来说,创建一个控制改变值的主题。您的主题可以控制您的viewmodel中的visibility属性。观察者会订阅此属性,每当您的visibility属性发生更改时,每个观察者都会知道它