PropertyChanged保持为空

时间:2018-06-09 10:56:19

标签: c# wpf binding

我有以下文本框绑定:

XAML:

<TextBlock x:Name="Auslastungskapazität1" Text="{Binding Kapazität, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Foreground="Black" HorizontalAlignment="Center" Margin="0,5,5,5" FontSize="16" ></TextBlock>

MainViewModel类:

class MainViewModel: ZuliefererStandortListe,  IDropTarget, INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;
    public int Kapazität {
        get { return _kapazität1Ausgelastet; }
        set {
            if (this._kapazität1Ausgelastet != value)
                _kapazität1Ausgelastet = value;
            OnPropertyChanged("Kapazität");
        }
    }

    public void OnPropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }
}

DataContext是MainWindow构造函数中的

Kapazität.DataContext = new MainViewModel();

如果我更改了Kapazität,则更改int并调用OnPropertyChanged()方法。但是,“PropertyChanged”仍为null,因此Textbox Binding不会更新。

1 个答案:

答案 0 :(得分:0)

设置DataContext本身的TextBox

Auslastungskapazität1.DataContext = new MainViewModel();

...或其任何父元素,例如窗口:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        DataContext = new MainViewModel();
    }
}