我正在尝试从program.cs访问控件的text属性,并且它说由于受保护的级别而无法访问它。我该如何解决这个问题呢?
答案 0 :(得分:28)
这是控件的默认属性,可以通过进入包含指定Control的Form的Design-View,然后将Control的Modifiers属性更改为Public或Internal来解决。那可以做到! :)
答案 1 :(得分:5)
控制保护级别已解决
转到设计器文件搜索控件按ID,例如txtModel将受保护的修饰符更改为公共修饰符
答案 2 :(得分:1)
背后的概念是保护级别。正如我们在面向对象范例中所研究的那样,保持你的类成员变量是私有的,并设置或从Property.Thats中获取它为什么它不是一个好的方法
答案 3 :(得分:-1)
使用x:FieldModifier="public"
例如
<TextBlock x:FieldModifier="public" x:Name="AccessibleTextBlock" />
如此处所述:Modifying XAML named field visibility
就我而言,我将UserControl放在另一个DLL中。 WPF的约定是默认情况下将所有命名字段设置为internal
。使用x:FieldModifier="public"
已解决了该问题。