簡體   English   中英

為什么控件由於其保護級別而無法訪問?

[英]Why is the control inaccessible due to its protection level?

我正在嘗試從 program.cs 訪問控件的文本屬性,它說由於受保護級別而無法訪問。 請問我該如何解決?

這是控件的默認屬性,可以通過以下方式解決:

  1. 進入包含指定控件的窗體的設計視圖
  2. 然后將控件的修飾符屬性更改為公共或內部。

控件屬性 > 修改器屏幕截圖

控制保護級別已解決

轉到設計器文件搜索控件按 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM