【发布时间】:2018-12-06 08:35:28
【问题描述】:
我的模型中有一个具有 getter 的属性
public boolean Status {
get {
return 1==2;
}
}
还有一个标签
<Label Content="{Binding Path=Status, Mode=OneWay}" />
我想监控状态。现在,当 Status 值更改时,UI 不会使用该值更新。
【问题讨论】:
-
给它一个私人集?另外,1==2 总是会返回 false,你如何设置值?
-
1==2 只是一个例子。
-
你需要解释你在做什么。更好的。如果状态取决于许多因素,那么当其中任何一个发生变化时,都会以“状态”作为参数来提高 propertychanged。如果您正在做的任何事情都在与 ui 不同的线程上,那么您将需要调度程序 invokeasync 以从该线程获取 ui,因为 propertychanged 具有线程关联性。 Propertychanged 必须从父对象引发,因此您可能需要使用视图模型中的公共属性而不是模型来包装您的逻辑或属性。
标签: c# wpf data-binding