由于访问修饰符,儿童控件无法访问

时间:2009-12-14 15:24:50

标签: c# .net wpf xaml access-modifiers

当我在WPF中创建用户控件时,似乎该控件的所有子控件都被声明为内部控件?我无法验证这一点,也没有找到任何资源来讨论这个问题。

我可以访问同一程序集中的控件,但不能访问引用用户控件所在程序集的项目。有没有办法覆盖XAML中子控件的默认访问修饰符,所以我不必手动通过用户控件中的属性公开控件?

2 个答案:

答案 0 :(得分:9)

您是否尝试将子控件的x:FieldModifier属性设置为“public”?

答案 1 :(得分:1)

然而,仅仅公开它们并不是一个好主意 - 它的设计非常糟糕。

您应该通过UserControl的属性公开他们的真实数据。最好的方法是引入一个界面。

另一个解决方案(更多的是“WPF-way”)将使用数据上下文作为从外部访问的唯一属性:控件可以绑定到他们需要的属性。