C# - XAML不会重新绑定更改

时间:2014-12-26 12:00:24

标签: c# xaml

我正在开发一个小项目..一个游戏,但在开始只是控制台游戏,所以决定用UI使用xaml.And在这里我有这个问题 - everythink似乎工作正常,除了它不会重新绑定我所做的更改。我有继承INotifyPropertyChanged的BaseModelView类

public class BaseViewModel : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    protected void OnPropertyChanged(string prop)
    {
        if (this.PropertyChanged != null)
        {
            var propertyChangedArg = new PropertyChangedEventArgs(prop);
            this.PropertyChanged(this, propertyChangedArg);
        }
    }
}

以及使用ObservableCollection的集合,但它不会重新绑定更改..

我认为问题来自这里,因为我不会在每个类的每个属性上调用OnPropertyChanged,我称之为全班但不知道..就像那样

public Player Player
{
    get { return this.player; }
    set
    {
        this.player = value;
        this.OnPropertyChanged("Player");
    }
 }

这里我将链接回购,无论如何它不是一个隐藏的项目,它的意思是开源,也许可以更容易地找到问题 - http://goo.gl/mFgCXI

我希望有人可以帮助我,因为我坚持了几天而且不知道如何解决它继续前进..

感谢。

2 个答案:

答案 0 :(得分:0)

尝试使用TwoWay进行绑定模式并再次测试。

答案 1 :(得分:0)

在Github上看到你的代码。您需要在将绑定到的所有类上实现INotifyPropertyChanged。此外,每个要绑定的属性都应该引发OnPropertyChanged通知。

我看到你已经绑定了Monstor&的属性。 Hero类但其属性(在UI中绑定)不会引发OnPropertyChanged通知。