WPF,绑定甚至无法使用属性更改实现

时间:2018-03-25 22:28:25

标签: c# wpf

我遇到了绑定到' 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 '时,我觉得我做的一切都没问题。

1 个答案:

答案 0 :(得分:0)

<强>固定: 我删除了&#39; PropertyChanged.Fody &#39;包裹以及&#39; FodyWeavers.xml &#39;然后在删除&#39; \ bin &#39;之后重新添加它们。和&#39; \ _ obj &#39;最后一个解决方案清理。