C# 在派生类中找不到BindingExpression路径错误属性
我混淆了基类的绑定内部属性 我有下面的类A、B,我试图在XAML中绑定类“A”属性(它是内部的) 问题: 在为类A创建实例时,DataContext被设置为类A,并且可以在XAML中绑定类A的内部属性,因为该场景绑定属性可以正常工作 问题: 但是,与我创建的类B的实例相同的场景是从类A继承的,现在DataContext被设置为类B,无法绑定类A的内部属性(从基类),并且错误抛出BindingExpression路径错误属性“MyProperty”在类B中找不到C# 在派生类中找不到BindingExpression路径错误属性,c#,xaml,C#,Xaml,我混淆了基类的绑定内部属性 我有下面的类A、B,我试图在XAML中绑定类“A”属性(它是内部的) 问题: 在为类A创建实例时,DataContext被设置为类A,并且可以在XAML中绑定类A的内部属性,因为该场景绑定属性可以正常工作 问题: 但是,与我创建的类B的实例相同的场景是从类A继承的,现在DataContext被设置为类B,无法绑定类A的内部属性(从基类),并且错误抛出BindingExpression路径错误属性“MyProperty”在类B中找不到 为什么场景不起作用?即使它有相同的
为什么场景不起作用?即使它有相同的基类A,请分享您的想法。我认为在我自己的应用程序中,我必须将用于绑定的所有get/set属性公开,但由于您将其作为内部属性,我认为这很奇怪。也许您可以尝试将其公开(以隔离问题).Hi Michel,我已经尝试过了,因为属性访问是公共的,无法获取错误“BindingExpression路径错误属性”MyProperty“未在类B上找到”。但仍然无法访问基类(A)场景DataContext的属性被设置为B类实例。你好,Jeya,在这种情况下,希望其他人能够提供答案。即使没有将任何内容设置为公共,我也无法重现您的问题。我认为在我自己的应用程序中,我必须将用于绑定的所有get/set属性设置为公共,但由于您将其作为内部属性,并且我认为这是可行的很奇怪。也许你可以尝试将其公开(以隔离问题)。嗨,Michel,我已经尝试过了,因为属性访问是公开的,无法获取错误“BindingExpression路径错误属性”MyProperty“未在类B上找到”。但仍然无法访问基类(A)场景DataContext的属性设置为Class B实例。你好,Jeya,在这种情况下,希望其他人能够提供答案。即使没有将任何内容设置为Public,我也无法重现您的问题。
public class A
{
internal int MyProperty
{
get { return (int)GetValue(MyPropertyProperty); }
set { SetValue(MyPropertyProperty, value); }
}
// Using a DependencyProperty as the backing store for MyProperty. This enables animation, styling, binding, etc...
internal static readonly DependencyProperty MyPropertyProperty =
DependencyProperty.Register("MyProperty", typeof(int), typeof(A), new PropertyMetadata(0));
}
public class B : A
{
}