Почему контроль недоступен из-за уровня защиты? - PullRequest
16 голосов
/ 16 ноября 2009

Я пытаюсь получить доступ к свойству text элемента управления из program.cs, и оно говорит, что оно недоступно из-за защищенного уровня. Как я могу это исправить, пожалуйста?

Ответы [ 4 ]

28 голосов
/ 16 ноября 2009

Это свойство по умолчанию для элементов управления, и его можно решить, перейдя в Design-View для формы, содержащей указанный элемент управления, затем изменив свойство Modifiers элемента управления на Public или Internal. Это должно сделать это! :)

5 голосов
/ 20 сентября 2012

Уровень защиты управления разрешен

Перейти к управлению поиском файлов в конструкторе. По ID, например, txtModel изменить защищенный модификатор на общедоступный модификатор

1 голос
/ 28 июня 2013

Концепция заключается в уровне защиты. Как мы уже изучали в объектно-ориентированной парадигме, держите переменные членов класса закрытыми и устанавливайте или получайте их из свойства.

0 голосов
/ 06 декабря 2018

Использование x:FieldModifier="public" например,

<TextBlock x:FieldModifier="public" x:Name="AccessibleTextBlock" />

как объяснено здесь: Изменение видимости именованного поля XAML

В моем случае я поместил UserControl в другую DLL. В соответствии с соглашением WPF все именованные поля устанавливаются по умолчанию internal. Использование x:FieldModifier="public" решило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...