[英]Why is InitializeComponent(); inaccessible due to its protection level?
[英]Why is the control inaccessible due to its protection level?
我正在嘗試從 program.cs 訪問控件的文本屬性,它說由於受保護級別而無法訪問。 請問我該如何解決?
控制保護級別已解決
轉到設計器文件搜索控件按 ID 例如 txtModel 將受保護的修飾符更改為公共修飾符
使用x:FieldModifier="public"
例如
<TextBlock x:FieldModifier="public" x:Name="AccessibleTextBlock" />
如此處所述: 修改 XAML 命名字段可見性
就我而言,我將 UserControl 放在另一個 DLL 中。 WPF 的約定是默認將所有命名字段設置為internal
字段。 使用x:FieldModifier="public"
解決了這個問題。
背后的概念是保護級別。 正如我們在面向對象的范式中研究的那樣,讓您的類成員變量保持私有並從屬性中設置或獲取它。這就是為什么它不是一個好方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.