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

本文关键字:绑定 新绑定 XAML | 更新日期: 2023-09-27 18:35:16

我正在做一个小项目。一个游戏,但一开始只是主机游戏,所以决定使用 xaml 使用 UI 制作它。在这里我遇到了这个问题 - 除了它不会重新绑定我所做的更改之外,每个想法似乎都可以正常工作。我有 BaseModelView 类,它继承了 INotifyPropertyChanged

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

我希望有人可以帮助我,因为我卡了好几天,不知道如何修复它才能继续前进。

谢谢。

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

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

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

尝试将绑定模式设为 TwoWay 并再次测试。