Introduction to .NET Framework 3.0/Windows Presentation Foundation
Windows Presentation Foundation (代號:Avalon) 是 .NET Framework 3.0 中引入的一項新功能(一個演示平臺),它支援建立包含高解析度圖片和圖形的文件。WPF 還負責將圖片和媒體整合到普通文件中。目前,執行此功能的元件是 Windows 窗體。
一種高效、統一的 UI、媒體和文件方法,可提供無與倫比的使用者體驗
Presentation Foundation 包含用於建立“列印”和“開啟檔案”對話方塊、編寫新視窗等的類。它大多數時候使用四個特定的類
- UIElement
- FrameworkElement
- ContentElement
- FrameworkContentElement
這些類有助於構建有效且易於使用的使用者介面。WPF UI 通常以元素樹的形式存在。WPF 中使用的元素樹有兩種型別
- 邏輯樹
- 視覺樹
元素樹通常在 XAML 中透過拖放和建立相關元素之間的關係來實現。在程式碼中,它們取決於我們如何為屬性提供屬性值。
邏輯樹涉及透過新增 listbox 標記並在標記內新增列表項來建立樹結構。在 DockPanel 的情況下,我們使用 Children 屬性。
視覺樹主要由想要干預程式底層低階元件的程式設計師使用。
雖然建議使用 C# 等程式語言進行程式設計邏輯,但建議使用標記語言進行文字和 UI 程式設計。
在早期版本的 .NET 框架中,設計器部分與程式碼是分開的。但是,在 .NET 3.0 中,用 XAML 編寫的設計器部分和用 C# 編寫的邏輯都包含在同一個程式碼中。
XAML File
<Canvas ID="root“ xmlns="http://schemas.microsoft.com/2003/xaml“>
<Button Click="Button_Click">Click Me!</Button>
</Canvas>
C# code-behind file
using…
namespace Button
{
public partial class Default : Panel
{ // Event handler
void Button_Click (object sender, System.Windows.Controls.ClickEventArgs e)
{ btn1.Background = System.Windows.Media.Brushes.Red; }
}
}
Windows Presentation Foundation 使使用者能夠建立高質量的圖形應用程式。您可以使用 <button> 標記新增現有或建立自定義按鈕,建立停靠面板、二維和三維圖形影像,使用顏色選擇器控制元件,建立或修改影像、影片,建立自定義媒體播放器等。
WPF 圖形系統提供了一種全新的程式設計風格。使用基於 Win32 的 UI 技術,如果您想要繪製自定義圖形,則必須編寫程式碼以響應重繪請求,按需繪製詳細資訊。此程式碼有效地直接繪製到螢幕上。如果螢幕的該部分被另一個視窗遮擋,然後再次顯示,Windows 會發送一條訊息請求重繪此部分。如果您想要更改圖形的外觀,則需要指示 Windows 使螢幕的相關區域無效,以啟動重繪。
WPF 還幫助我們輕鬆建立格式化文字,因此可以使用富格式。內容包含在 <textblock> 標記中。
使用者事件可以使用觸發器輕鬆執行,觸發器使用 <trigger> 標記指定。除此之外,WPF 中還有許多其他新創新。
模板有兩種型別:資料模板和控制元件模板。控制元件模板定義控制元件的視覺結構。
語法
ControlTemplate x:Key=“MyButton” TargetType=“{x:Type Button}”>
<Grid>
<Ellipse />
<ContentPresenter />
</Grid>
</ControlTemplate>
相反,資料模板包含有關要儲存資料的規範。
語法
<DataTemplate DataType=“{x:Type PhotoObject}”>
<Image Source=“{Binding FileName}” />
</ControlTemplate>
樣式用於指定所用按鈕的樣式。
<Style x:Key=“MyStyle” TargetType=“{x:Type Button}”>
</Style>
樣式也可以基於其他樣式。
Style x:Key=“MyStyle” BasedOn=“{StaticResource BaseStyle}” />
<Setter Property=“Background” Value=“Green” />
</Style>
WPF 支援三種文件
- 固定文件
- 流文件
- XPS 文件
WPF 引入了新概念,使文字與媒體檔案的整合更加容易。WPF 還支援早期版本不支援的各種字型。
固定文件代表 WYSIWYG(“所見即所得”)原則。在這裡,您在螢幕上看到的內容表示頁面列印時在紙上獲得的實際版式。因此,即使是對版式的輕微更改也至關重要。
流文件是根據螢幕大小調整其大小、可讀性、尺寸等的文件格式。WPF 也支援此類文件。
XPS 文件是文件在紙上外觀的精確表示。它們類似於文件本身的掃描影像。
- 易用性 - 學習能力、效能、可靠性、安全性、最佳化形式因素、可讀性、相關性/情境化。
- 豐富性 - 圖形和媒體、資料視覺化、更高保真度資訊、全球化、可訪問性、硬體和列印整合。