我遇到了绑定到' StatusBarItem '的问题。我将补充说我正在使用' PropertyChanged.Fody '来实现我想要进行更改的模型。
继承人'XAML'片段:
<StatusBar Grid.Row="2"
Background="Transparent"
Padding="5,0">
<StatusBarItem Content="{Binding Path=Application.Status, Source={x:Static m:Locator.Instance}}"/>
</StatusBar>
基本型号:
[AddINotifyPropertyChangedInterface]
public class IModel {
}
应用程序模型:
public sealed class ApplicationModel : IModel {
static ApplicationModel() {
Instance = new ApplicationModel() {
Status = "Ready"
};
}
public static ApplicationModel Instance {
get;
}
public string Status {
get;
set;
}
}
定位器型号:
public sealed class Locator : IModel {
static Locator() {
Instance = new Locator();
}
public static Locator Instance {
get;
}
public ApplicationModel Application => ApplicationModel.Instance;
}
如果我想从代码中的任何位置更改“状态”,我会这样做:
Locator.Instance.Application.Status = message;
现在我的问题不是'状态'不会改变,它改变得很好。应用程序运行时,它会使用 ApplicationModel 中设置的默认值更新 XAML 一次。设置新值后, XAML不会更新为新的更改。当我在其他地方使用我的' BaseModel '时,我觉得我做的一切都没问题。
答案 0 :(得分:0)
<强>固定:强> 我删除了&#39; PropertyChanged.Fody &#39;包裹以及&#39; FodyWeavers.xml &#39;然后在删除&#39; \ bin &#39;之后重新添加它们。和&#39; \ _ obj &#39;最后一个解决方案清理。