我最近写了一些关于SO的其他答案,以了解如何读取绑定错误,从而使它们更有意义。总结一下,在冒号和分号上的错误消息中添加换行符,然后从下往上阅读。
您的错误消息是:
- System.Windows.Data错误:40:
- Bindingexpression路径错误:在“对象”“ IncrementingTextBox”(名称=“ video_length_textbox”)上找不到“ ConfigurationModel”属性。
- Bindingexpression:Path = ConfigurationModel.DontUseSensorLength;
- DataItem =’IncrementingTextBox’(Name =’video_length_textbox’);
- 目标元素是“ IncrementingTextBox”(名称=“ video_length_textbox”);
- 目标属性为“ IsEnabled”(类型为“布尔”)
可以从下往上读为:
绑定失败是
IsEnabled
类型IncrementingTextBox
(名为video_length_textbox)的元素的属性。该
DataItem
(DataContext
所述元件的)是类型的对象IncrementingTextBox
命名video_length_textbox它试图找到的绑定表达式是
ConfigurationModel.DontUseSensorLength
绑定存在的问题是
ConfigurationModel
在数据上下文对象上找不到该属性IncrementingTextBox
因此,您
DataContext的“
video_length_textbox”设置为自身,并且您的
IncrementingTextBox课程没有名为的公共属性
ConfigurationModel
由于看不到您在XAML中
DataContext的
IncrementingTextBox任何位置设置的功能,因此请查看您的
IncrementingTextBox类的代码。最可能的情况是您在任一构造函数中将DataContext设置为其自身
this.DataContext = this;
或XAML
DataContext="{Binding RelativeSource={RelativeSource Self}}"


