WPF框架基础使用
WPF(Windows Presentation Foundation)是微軟推出的基于Windows 的用戶界面框 架,屬于.NET Framework 3.0的一部分。它提供了統一的編程模型、語言和框架,真正 做到了分離界面設計人員與開發人員的工作;
WPF的基本概念,邏輯樹和視覺樹。控件為邏輯樹,HTML為視覺樹
官網中文版控件示例網址: https://docs.microsoft.com/zh-cn/previous-versions/dotnet/netframework-3.5/ms771645(v=vs.90)
XAML三個頂級元素: Window、UserControl(用戶控件,布局的時候像窗體那樣布局就可以 了)、Page把窗體以網頁形式展現。而一個XAML頁面里只能有一個頂級元 素。而頂級元素里面只能有一個子元素。因此要有布局控件。布局控件:是可以容納多個控件或者嵌套其他布局的控件,用于在UI上組織和排列控 件。其父類為Panel。
內容控件:只能容納一個控件或者布局控件作為他的內容。所以經常借助布局控件來 規劃其內容。其父類為ContentControl
帶標題內容控件:相當于一個內容控件,但是可以加一個標題,標題部分也可以容納 一個控件或者布局,其父類為HeaderedContentControl。
條目控件:可以顯示一列數據,一般情況下,是數據的類型是相同的。其共同的基類 為ItemsControl。
帶標題的條目控件:和上面的帶標題內容控件類同,其基類為 HeaderdeItemsControl。
特殊內容控件:這類控件比較獨立,但也比較常用,如TextBox,TextBlock,Image 等。
五、特定于 WPF 的標記擴展
WPF 編程中最常用的標記擴展是支持資源引用的標記擴展(StaticResource 和 DynamicResource),和支持數據綁定的標記擴展 (Binding)。
StaticResource 通過替換已定義資源的值來為屬性提供值。 StaticResource 計算最 終在 XAML 加載時進行,并且在運行時沒有訪問對象圖的權限。
DynamicResource 通過將值推遲為對資源的運行時引用來為屬性提供值。 動態資源 引用強制在每次訪問此類資源時都進行新查找,且在運行時有權訪問對象圖。 為了 獲取此訪問權限,WPF 屬性系統中的依賴項屬性和計算出的表達式支持 DynamicResource 概念。 因此,只能對依賴項屬性目標使用 DynamicResource。
Binding 使用在運行時應用于父對象的數據上下文來為屬性提供數據綁定值。 此標 記擴展相對復雜,因為它會啟用大量內聯語法來指定數據綁定。
RelativeSource 提供的源信息 Binding ,該信息可在運行時對象樹中導航幾個可能 的關系。 對于在多用途模板中創建的綁定,或在未充分了解周圍的對象樹的情況下 以代碼創建的綁定,此標記擴展為其提供專用源。
TemplateBinding 使控件模板能夠使用模板化屬性的值,這些屬性來自于將使用該模 板的類的對象模型定義屬性。 換言之,模板定義中的屬性可訪問僅在應用了模板之 后才存在的上下文。 有關詳細信息,請參閱 TemplateBinding 標記擴展。
ColorConvertedBitmap 支持相對高級的映像方案。
ComponentResourceKey 和 ThemeDictionary 支持資源查找的各個方面,特別是支持查找與自定義控件一起打包的資源和主題。
更多擴展網址:https://docs.microsoft.com/zhcn/dotnet/desktop/wpf/advanced/wpf-xaml-extensions?
總結
- 上一篇: MQTT Java 客户端
- 下一篇: asp.net ajax控件工具集 Au