C# 如何在UserControl中公开嵌套控件的多个DependencyProperties(同名)?
我试着解决几乎相同的问题:“ 不同之处在于,我有不同(2个或更多)嵌套的C# 如何在UserControl中公开嵌套控件的多个DependencyProperties(同名)?,c#,wpf,binding,nested,dependency-properties,C#,Wpf,Binding,Nested,Dependency Properties,我试着解决几乎相同的问题:“ 不同之处在于,我有不同(2个或更多)嵌套的控件,具有相同的类型。我的目标是使嵌套的dependencProperties可绑定。我面临的主要问题是,Binding不使用CLR属性的Getter和Setter,而是使用registerrddependencProperty的String。使用2个(或更多)嵌套的控件时,我面临命名冲突 为了说明我的问题,这里使用外部UserControl的代码: public partial class OuterControl : U
控件
,具有相同的类型
。我的目标是使嵌套的dependencProperties
可绑定。我面临的主要问题是,Binding
不使用CLR属性的Getter
和Setter
,而是使用registerrddependencProperty的String
。使用2个(或更多)嵌套的控件时,我面临命名冲突
为了说明我的问题,这里使用外部UserControl
的代码:
public partial class OuterControl : UserControl
{
public OuterControl()
{
InitializeComponent();
}
public Visibility PropOfInnerControl
{
get { return (Visibility)GetValue(PropOfInnerControlProperty); }
set { SetValue(PropOfInnerControlProperty, value); }
}
// Using a DependencyProperty as the backing store for UserControl2Visibility. This enables animation, styling, binding, etc...
public static readonly DependencyProperty PropOfInnerControlProperty =
InnerControl.PropOfInnerControlProperty.AddOwner(typeof(OuterControl), new FrameworkPropertyMetadata(MyVisibilityPropertyChanged));
private static void MyVisibilityPropertyChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e)
{
var OuterControl = obj as OuterControl;
OuterControl.InnerControl1.PropOfInnerControl = (Visibility)e.NewValue;
}
}
如果不清楚:在我的示例中,InnerControl1
的dependencProperty
称为PropOfInnerControlProperty
,并注册在字符串“PropOfInnerControl”
下
在我的示例中,使用InnerControl1
进行绑定很好。但是我不知道如何解决InnerControl2
的同样问题