C# 我可以捕获WPF中可观察结构的成员的更新吗?

C# 我可以捕获WPF中可观察结构的成员的更新吗?,c#,wpf,binding,observable,C#,Wpf,Binding,Observable,我有一个在COM库中定义的结构。 在我的ViewModel中,我创建了一个可观察的实例,并希望将结构的每个成员绑定到视图中的不同控件。 ConfigStaticDataDetails变量通过COM中的委托更新 是否有方法捕获结构成员的更新,以便我的视图反映更新 结构的一部分: public struct ConfigStaticData { public string Callsign; } My:变量: private ConfigStaticData _ConfigStaticDa

我有一个在COM库中定义的结构。 在我的ViewModel中,我创建了一个可观察的实例,并希望将结构的每个成员绑定到视图中的不同控件。 ConfigStaticDataDetails变量通过COM中的委托更新

是否有方法捕获结构成员的更新,以便我的视图反映更新

结构的一部分:

public struct ConfigStaticData
{
    public string Callsign;
}
My:变量:

private ConfigStaticData _ConfigStaticDataDetails;
public ConfigStaticData ConfigStaticDataDetails
{
    get
    {
        return _ConfigStaticDataDetails;
    }
    set
    {
        _ConfigStaticDataDetails = value;
        OnPropertyChanged("ConfigStaticDataDetails");
    }
}
在XAML中:



我尝试了不同的方法,但这是我当前的代码(不起作用)。

我认为您可能应该在绑定转换器中编写一些代码,以方便通知。为了使其更具可移植性,您可以将“notify”逻辑封装在与结构相关的扩展方法中

我认为您应该用自己的类替换该结构,仅使用结构以实现可移植性。结构应该是不可变的;因此,很少有什么有趣的事情值得观察。由于值语义,每个观察者可能看到不同的值(或者可能是装箱对象)。结构和事件不能很好地混合…

感谢您的输入。
我认为我的解决方案是重新设计COM接口,并使用实现INotifyPropertyChanged接口的类而不是结构。这似乎与预期一样有效。

您无法绑定到字段,并且指定的源将被解释为字符串。你可能想看看,“Elrarly”应该是什么?