【发布时间】:2018-11-19 06:34:38
【问题描述】:
我有以下文本框绑定:
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”仍然为空,因此文本框绑定不会得到更新。
【问题讨论】:
-
MainWindow 构造函数中的
Kapazität是什么?看起来很奇怪,您应该设置this.DataContext或只设置DataContext。请注意,在 Text Binding 上设置Mode=TwoWay和UpdateSourceTrigger=PropertyChanged是没有意义的。它在这里没有影响。德语标识符名称,尤其是带有变音符号的名称,看起来也很奇怪。 -
我改变了元音变音,谢谢。我试图在 MainWindow 中为 Kapazitaet 属性声明数据上下文。也许我理解错了。