Я пытаюсь получить доступ к свойству text элемента управления из program.cs, и оно говорит, что оно недоступно из-за защищенного уровня. Как я могу это исправить, пожалуйста?
Это свойство по умолчанию для элементов управления, и его можно решить, перейдя в Design-View для формы, содержащей указанный элемент управления, затем изменив свойство Modifiers элемента управления на Public или Internal. Это должно сделать это! :)
Уровень защиты управления разрешен
Перейти к управлению поиском файлов в конструкторе. По ID, например, txtModel изменить защищенный модификатор на общедоступный модификатор
Концепция заключается в уровне защиты. Как мы уже изучали в объектно-ориентированной парадигме, держите переменные членов класса закрытыми и устанавливайте или получайте их из свойства.
Использование x:FieldModifier="public" например,
x:FieldModifier="public"
<TextBlock x:FieldModifier="public" x:Name="AccessibleTextBlock" />
как объяснено здесь: Изменение видимости именованного поля XAML
В моем случае я поместил UserControl в другую DLL. В соответствии с соглашением WPF все именованные поля устанавливаются по умолчанию internal. Использование x:FieldModifier="public" решило проблему.
internal