C# 绑定未从INotifyPropertyChanged类更新

C# 绑定未从INotifyPropertyChanged类更新,c#,wpf,binding,inotifypropertychanged,C#,Wpf,Binding,Inotifypropertychanged,我是WPF的新手。我已成功地将源类属性绑定到目标控件。但每当属性值更改时,UI控件都不会反映更新的数据。请帮忙 WPF代码: <Label Name="Panel_ch1Mode" Content="{Binding Path=Mode, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" FontFamily="Roboto Regular" FontSize="16" Foreground="#FFFFFF"/> 试试这个:只

我是WPF的新手。我已成功地将源类属性绑定到目标控件。但每当属性值更改时,UI控件都不会反映更新的数据。请帮忙

WPF代码:

<Label Name="Panel_ch1Mode" Content="{Binding Path=Mode, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"  FontFamily="Roboto Regular" FontSize="16" Foreground="#FFFFFF"/>

试试这个:只需从xaml中删除UpdateSourceTrigger=PropertyChanged,Mode=TwoWay。)

改进INotifyPropertyChanged链接的实现,方法如下:

private void NotifyPropertyChanged([CallerMemberName] string propertyName = null)
{
    var handler = PropertyChanged;
    if (handler != null)
        handler(this, new PropertyChangedEventArgs(propertyName));
}

在代码隐藏中,请检查ViewModel是否“连接”到视图:

   public YourView()
   {
            InitializeComponent();
            DataContext = new ClassName();
   }

您必须记住,绑定始终与DataContext相关。

您如何知道已成功绑定?是否设置了DataContext?我将检查输出窗口并查找错误40:,可能您的DataContext未创建?或者它在一个错误的范围内?我已经将DataContext设置为belowClassName ObjClassName=new ClassName();public MeasurementDisplayScreen(){InitializeComponent();Channel1DockPannel.DataContext=ObjClassName;}很好的下一票,我不明白为什么,因为这可能是其他人的解决方案,但是……好吧……虽然这是有效的(因为
UpdateSourceTrigger=PropertyChanged
Mode=TwoWay
在这里不起作用)和
CallerMemberName
可能被视为一种改进,所以它没有提供问题的答案。
   public YourView()
   {
            InitializeComponent();
            DataContext = new ClassName();
   }