如何在UserControl中展示嵌套控件的多个DependencyProperties(具有相同名称)?

时间:2014-02-06 12:00:19

标签: c# wpf binding nested dependency-properties

我试图解决几乎相同的问题:“How to Expose a DependencyProperty of a Control nested in a UserControl?

不同之处在于我有不同的(2个或更多)嵌套Controls具有相同的type。我的目标是使嵌套的DependencyProperties绑定。我面临的主要问题是,Binding不使用Getter的{​​{1}}和Setter,而是使用CLR-Property注册表String }}。使用2(或更多)嵌套DependencyProperty我面临命名冲突。

在此处说明我的问题外部Controls的代码:

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; } } 的{​​{1}}被称为DependencyProperty,并在InnerControl1下注册。

在我的示例中,使用PropOfInnerControlProperty绑定工作正常。但我不知道如何使用String "PropOfInnerControl"来解决同样的问题。

0 个答案:

没有答案