代码之家  ›  专栏  ›  技术社区  ›  Kasper Holdum

由于访问修饰符,子控件不可访问

  •  3
  • Kasper Holdum  · 技术社区  · 15 年前

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

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

    2 回复  |  直到 15 年前
        1
  •  9
  •   Romain Verdier    15 年前

    你试过设置 x:FieldModifier “您的子控件的属性” public “?

        2
  •  1
  •   Matthias    15 年前

    然而,把它们公之于众并不是什么好主意——它的设计真的很糟糕。

    您应该通过用户控件的属性公开它们的真实数据。最好是引入一个接口。

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