成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

各種常見WPF屬性概念淺析

開發 開發工具
在常見WPF屬性中,包括依賴項屬性和附加屬性。在這兩種屬性類型中,又包含有很多概念。這些將會在本文中做一個詳細的介紹。

WPF屬性在學習WPF的過程中是一個非常重要的知識點。我們在這里將會為大家詳細介紹一些常見的WPF屬性,希望對大家有所幫助。#t#

依賴項屬性

Windows Presentation Foundation (WPF) 提供了一組服務,這些服務可用于擴展公共語言運行庫 (CLR) 屬性的功能。
這些服務通常統稱為WPF屬性系統。

由WPF屬性系統支持的屬性稱為依賴項屬性。

依賴項屬性的用途在于提供一種方法來基于其他輸入的值計算屬性值。

這些其他輸入可以包括

系統屬性(如主題和用戶***項)、實時屬性確定機制(如數據綁定和動畫/演示圖板)、重用模板(如資源和樣式)或者通過與元素樹中其他元素的父子關系來公開的值。

另外,可以通過實現依賴項屬性來提供獨立驗證、默認值、監視其他屬性的更改的回調以及可以基于可能的運行時信息來強制指定屬性值的系統。

派生類還可以通過重寫依賴項屬性元數據(而不是重寫現有屬性的實際實現或者創建新屬性)來更改現有屬性的某些具體特征。

下面匯集了在本軟件開發工具包 (SDK) 文檔中,在討論依賴項屬性時所使用的術語:

依賴項屬性:一個由 DependencyProperty 支持的屬性。

依賴項屬性標識符:一個 DependencyProperty 實例,在注冊依賴項屬性時作為返回值獲得,之后將存儲為一個類成員。在與WPF屬性系統交互的許多 API 中,此標識符用作一個參數。

CLR“包裝”:屬性的實際 get 和 set 實現。這些實現通過在 GetValue 和 SetValue 調用中使用依賴項屬性標識符來合并此標識符,從而使用 WPF 屬性系統為屬性提供支持。

附加屬性

附加屬性是可擴展應用程序標記語言 (XAML) 定義的一個概念。

附加屬性旨在用作可在任何對象上設置的一類全局屬性。

在 Windows Presentation Foundation (WPF) 中,附加屬性通常定義為沒有常規屬性“包裝”的一種特殊形式的依賴項屬性。

附加屬性是一種類型的屬性,它支持 XAML 中的專用語法。

附加屬性通常與公共語言運行庫 (CLR) 屬性不具有 1:1 對應關系,而且不一定是依賴項屬性。

附加屬性的典型用途是使子元素可以向其父元素報告屬性值,即使父元素和子元素的類成員列表中均沒有該屬性也是如此。
一個主要方案是,使子元素可以將其在 UI 中的表示方式通知給父級;

在 Windows Presentation Foundation (WPF) 中,WPF 類型上存在的大多數附加屬性都實現為依賴項屬性。

附加屬性是一個 XAML 概念,而依賴項屬性則是一個 WPF 概念。

因為 WPF 附加屬性是依賴項屬性,所以它們支持依賴項屬性概念,例如,屬性元數據以及這些屬性元數據中的默認值。

盡管可以在任何對象上設置附加屬性,但這并不自動意味著設置該屬性會產生實際的結果,或者該值將會被其他對象使用。通常,附加屬性是為了使來自各種可能的類層次結構或邏輯關系的對象都可以向所屬類型報告公用信息。

定義附加屬性的類型通常采用以下模型之一:

設計定義附加屬性的類型,以便它可以是將為附加屬性設置值的元素的父元素。之后,該類型將在內部邏輯中循環訪問其子元素,獲取值,并以某種方式作用于這些值。

定義附加屬性的類型將用作各種可能的父元素和內容模型的子元素。

定義附加屬性的類型表示一個服務。其他類型為該附加屬性設置值。之后,當在服務的上下文中計算設置該屬性的元素時,將通過服務類的內部邏輯獲取附加屬性的值。

如果您的類將附加屬性嚴格定義為用于其他類型,那么該類不必從 DependencyObject 派生。但是,如果您遵循使附加屬性同時也是一個依賴項屬性的整體 WPF 模型,則需要從 DependencyObject 派生。

通過聲明一個 DependencyProperty 類型的 public static readonly 字段將附加屬性定義為一個依賴項屬性。

通過使用 RegisterAttached 方法的返回值來定義此字段。

為了遵循命名標識字段及其所表示的屬性的已建立 WPF 模式,字段名必須與附加屬性名一致,并附加字符串 Property。

WPF屬性中的附加屬性提供程序還必須提供靜態的 Get屬性名 和 Set屬性名 方法作為附加屬性訪問器,否則會導致屬性系統無法使用您的附加屬性。

責任編輯:曹凱 來源: 博客園
相關推薦

2009-12-25 11:04:51

WPF Border

2009-12-25 16:58:23

WPF名稱范圍

2009-12-23 17:18:45

WPF Attache

2009-12-25 16:40:49

WPF優勢

2009-12-23 17:01:09

WPF Command

2009-12-23 16:39:55

WPF命令

2009-12-25 10:46:36

WPF Page

2009-12-28 16:54:30

WPF注釋

2011-05-23 10:09:48

2009-12-25 17:02:33

WPF多媒體

2009-12-28 14:51:59

WPF元素樹

2009-12-28 09:13:50

WPF容器控件

2010-06-07 14:13:10

Linux 開發工具

2009-11-17 10:47:14

Silverlight

2009-12-23 15:27:34

WPF圖形系統

2009-12-25 17:48:43

WPF資源路徑

2009-12-28 16:28:35

WPF元素類型樣式

2009-12-28 15:18:29

WPF控件模型

2009-12-24 15:36:41

WPF邏輯樹

2009-12-25 10:28:10

WPF路由事件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩在线三级 | 91av在线免费看 | 欧美精品video | 午夜看电影在线观看 | 欧美日韩精品一区二区三区蜜桃 | 美女精品一区 | av一区二区三区四区 | 亚洲日韩中文字幕一区 | 一级毛片大全免费播放 | 欧美一区二区三区视频在线播放 | 中文字幕日韩欧美一区二区三区 | 黄色视频a级毛片 | 欧美一区二区三区视频 | 欧美日韩在线成人 | 欧美精品91 | 国产激情亚洲 | 男女羞羞视频在线 | 在线视频第一页 | 国产欧美日韩在线观看 | 精品国产一区久久 | 国产在线精品一区二区三区 | 日本公妇乱淫xxxⅹ 国产在线不卡 | 国产农村一级片 | 国产黄色在线观看 | 日韩一区二区成人 | 日韩欧美在线播放 | 91精品国产自产精品男人的天堂 | 久日精品 | 亚洲xxxxx | 美女视频黄色的 | 免费在线观看一级毛片 | 日本高清中文字幕 | 欧美 日韩 国产 成人 在线 | 人人精品| 人人cao | 亚洲va欧美va天堂v国产综合 | 日本一区二区视频 | 视频一区在线观看 | 伊人网综合| 国产精彩视频 | 欧美成人一区二区三区 |