AutomationProperties 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供取得或設定自動化屬性實例層級值的支援。 這些屬性值會設定為附加屬性, (通常是在 XAML) 中,並從控制項的 AutomationPeer補充或覆寫自動化屬性值。
public ref class AutomationProperties sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class AutomationProperties final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class AutomationProperties
Public NotInheritable Class AutomationProperties
- 繼承
- 屬性
Windows 需求
裝置系列 |
Windows 10 (已於 10.0.10240.0 引進)
|
API contract |
Windows.Foundation.UniversalApiContract (已於 v1.0 引進)
|
範例
提示
WinUI 3 資源庫應用程式包含大部分 WinUI 3 控制項、特性和功能的互動式範例。 從Microsoft Store取得應用程式,或在GitHub上取得原始程式碼
備註
AutomationProperties 是數個 XAML 附加屬性的主機服務類別。 這些附加屬性的目的是要啟用設定各種每個實例值,這些值與 UI 元素如何回報給 Microsoft 消費者介面自動化協助工具架構相關。 在 UI 專案的類別設計尚未將其 Microsoft 消費者介面自動化整合或對等實作行為的一部分轉送其他 UI 相關屬性值,或轉送的值不是您想要向 Microsoft 消費者介面自動化回報的值時,這非常有用。
為了支援 XAML 處理器存取附加屬性,以及公開對等的 get 和 set 作業給程式碼,每個 XAML 附加屬性都有一對 Get 和 Set 存取子方法,這也是 AutomationProperties 的成員。 例如,GetName和SetName方法支援,並提供對等的程式碼支援,以便將自動化Name值報告給 Microsoft 消費者介面自動化,而不是使用 Name 附加屬性在 XAML 中設定它。 或者,您可以使用相依性屬性系統來取得或設定附加屬性的值,這也會將基礎值報告給 Microsoft 消費者介面自動化。 呼叫 GetValue 或 SetValue,傳遞要設定的相依性屬性識別碼引數,以及要取得或設定值的目標物件參考。
Name 屬性
在各種附加屬性中,可能是最重要的屬性是 Name。 這是因為當使用者在協助工具案例中與應用程式互動時,最常存取並回報的 Name 屬性。 Name可作為 UI 元素的人類可讀取識別碼。
各種 UI 元素都有對等轉送,可根據其他元素屬性提供預設 的 Name 值。 例如,Button類別的對等轉送會轉送Button內容的ToString評估,並使用此字串做為預設名稱。 若要覆寫該預設值,或為沒有 Microsoft 消費者介面自動化Name可用的任何 UI 元素案例提供Name值,請在 XAML 中設定該元素的Name附加屬性。 如需 Microsoft 消費者介面自動化名稱為何很重要的詳細資訊,請參閱基本協助工具資訊。 如需如何測試專案是否已經有對等提供 名稱 且很有用的詳細資訊,請參閱 輔助功能測試。
基於當地語系化理由,您應該避免 XAML 中 Name 的硬式編碼字串值。 如果您在 元素上設定 x:Uid 指示詞 ,則可以使用 RESW 資源以屬性為目標,並提供不同的當地語系化值。 對於附加屬性,資源識別碼表單需要 XAML 表單中附加屬性的完整資格,包括其命名空間和 using: 前置詞。 例如,若要以具有x:Uid 指示詞值 「sendButton」 的資源AutomationProperties.Name 附加屬性值為目標,RESW 資源中的資料項目名稱值是sendButton.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name
如需每個附加屬性的詳細資訊,請參閱 附加屬性 的完整清單 (,請參閱每個屬性的識別碼 欄位) 。
版本歷程記錄
Windows 版本 | SDK 版本 | 已新增值 |
---|---|---|
1511 | 10586 | GetLandmarkType |
1511 | 10586 | GetLocalizedLandmarkType |
1511 | 10586 | SetLandmarkType |
1511 | 10586 | SetLocalizedLandmarkType |
1607 | 14393 | GetDescribedBy |
1607 | 14393 | GetFlowsFrom |
1607 | 14393 | GetFlowsTo |
1607 | 14393 | GetFullDescription |
1607 | 14393 | GetIsDataValidForForm |
1607 | 14393 | GetIsPeripheral |
1607 | 14393 | GetLocalizedControlType |
1607 | 14393 | SetFullDescription |
1607 | 14393 | SetIsDataValidForForm |
1607 | 14393 | SetIsPeripheral |
1607 | 14393 | SetLocalizedControlType |
1703 | 15063 | GetCulture |
1703 | 15063 | SetCulture |
1803 | 17134 | GetHeadingLevel |
1803 | 17134 | SetHeadingLevel |
1809 | 17763 | GetIsDialog |
1809 | 17763 | SetIsDialog |
屬性
附加屬性
AcceleratorKey |
取得或設定字串,其中包含快速鍵 (也稱為自動化元素的快速鍵組合) 組合。 |
AccessibilityView |
取得或設定專案的 Microsoft 消費者介面自動化樹狀檢視模式。 |
AccessKey |
取得或設定字串,其中包含自動化專案的存取索引鍵字元。 |
Annotations |
取得檔中的批註物件清單,例如批註、頁首、頁尾等等。 |
AutomationControlType |
取得或設定 Microsoft 消費者介面自動化的控制項類型。 |
AutomationId |
取得或設定可唯一識別專案給 Microsoft 消費者介面自動化的字串。 |
ControlledPeers |
取得可由指定自動化專案操作的自動化專案集合。 |
Culture |
取得或設定自動化元素的地區設定識別碼 (,例如,0x0409 「en-US」 或英文 (美國) ) 。 |
DescribedBy |
取得專案陣列,提供自動化專案的詳細資訊。 |
FlowsFrom |
取得自動化專案的陣列,這個陣列會建議目前自動化專案之前的讀取順序。 |
FlowsTo |
取得自動化專案的陣列,這個陣列會建議目前自動化專案之後的讀取順序。 |
FullDescription |
取得或設定當地語系化字串,其中包含專案的擴充描述文字。 |
HeadingLevel |
取得或設定消費者介面自動化專案的標題層級。 |
HelpText |
取得或設定與自動化專案相關聯的解說文字字串。 |
IsDataValidForForm |
取得或設定值,這個值表示資料是否對表單有效。 |
IsDialog |
取得或設定值,這個值表示自動化專案是否為對話方塊視窗。 |
IsPeripheral |
取得或設定值,這個值表示自動化專案是否代表周邊 UI。 |
IsRequiredForForm |
取得或設定值,這個值表示是否需要在表單上填寫專案。 |
ItemStatus |
取得或設定專案中專案狀態的描述。 |
ItemType |
取得或設定指定之項目型別的描述。 |
LabeledBy |
取得或設定自動化專案,其中包含這個專案的文字標籤。 |
LandmarkType |
取得或設定與專案相關聯的 地標類型識別碼 。 |
Level |
取得或設定以 1 為基礎的整數,描述階層式或中斷階層式結構內元素的位置。 |
LiveSetting |
取得或設定指定之專案的即時設定值,這個值是由代表即時區域的自動化專案所支援。 |
LocalizedControlType |
取得或設定當地語系化的文字字串,描述自動化專案所代表的控制項類型。 |
LocalizedLandmarkType |
取得或設定當地語系化的文字字串,描述自動化專案所代表的地標類型。 |
Name |
取得或設定專案的消費者介面自動化名稱。 |
PositionInSet |
取得或設定一個以 1 為基礎的整數,描述一組視為同層級之元素內的元素序數位置。 |
SizeOfSet |
取得或設定一組視為同層級的專案中的專案數目。 |