WPF控制項開發之控制項概述 2

2021-04-25 23:12:33 字數 2141 閱讀 7380

更改控制項外觀

更改控制項的外觀以適應應用程式的外觀,這是很常見的操作。可以根據您要達到的效果,通過執行以下操作之一來更改控制項的外觀:

更改控制項的屬性值。

為控制項建立 style。

為控制項建立新 controltemplate。

更改控制項的屬性值

許多控制項具有允許您更改控制項外觀的屬性,例如 button 的 background。可以在 xaml 和**中設定值屬性。下面的示例在 xaml 中設定 button 的 background、fontsize 和 fontweight 屬性。

下面的示例在**中設定相同的屬性。

為控制項建立樣式

利用 wpf,通過建立 style,您可以同時為許多控制項指定相同的外觀,而不是在應用程式中設定每個例項的屬性。 下面的示例建立乙個 style,它可以應用於應用程式中的每個 button。style 定義通常是在 resourcedictionary(例如 frameworkelement 的 resources)中以 xaml 形式定義的。

通過將鍵分配給樣式並在控制項的 style 屬性中指定該鍵,還可將樣式僅應用於某些特定型別的控制項。

建立 controltemplate

利用 style,可以一次為多個控制項設定屬性,但有時除了通過建立 style 可執行的操作之外,您可能想要自定義 control 的外觀。從 control 類繼承的類具有 controltemplate,它用於定義 control 的結構和外觀。control 的 template 屬性是公共的,因此您可以為 control 指定非預設 controltemplate。通常,您可以為 control 指定新的 controltemplate(而不是從控制項繼承)以自定義 control 的外觀。

請考慮乙個很常用的控制項 button。 button 的主要行為是當使用者單擊它時讓應用程式實現某些操作。 預設情況下,wpf 中的 button 顯示為乙個凸出的矩形。 開發應用程式時,您可能會希望利用 button 的行為(即通過處理按鈕的單擊事件),不過,除了通過更改按鈕的屬性可以執行的操作外,您也可以更改按鈕的外觀。 在這種情況下,您可以建立新 controltemplate。

下面的示例建立 button 的 controltemplate。 controltemplate 建立乙個帶圓角和漸變背景的 button。 controltemplate 包含乙個 border,其 background 為 lineargradientbrush,它具有兩個 gradientstop 物件。 第乙個 gradientstop 使用資料繫結將 gradientstop 的 color 屬性繫結到按鈕背景的顏色。 當設定 button 的 background 屬性時,該值的顏色將用作第乙個 gradientstop。此示例還建立乙個 trigger,用於在 ispressed 為 true 時更改 button 的外觀。

WPF 三 控制項1 概述

wpf控制項有如下幾類 1.內容控制項 這些控制項能夠包巢狀的元素,內容控制項包括label button 以及tooltip類 2.帶有標題的內容控制項 這些空間是允許新增乙個主要內容內容部分以及乙個單獨標題部分的內容控制項。他們通常使用者包裝更大的使用者介面塊。這類控制項有 tabitem gr...

WPF控制項開發之自定義控制項 1

windows presentation foundation wpf 控制項模型的擴充套件性極大減少了建立新控制項的需要。但在某些情況下,仍可能需要建立自定義控制項。本主題討論可最大限度減少在 windows presentation foundation wpf 中建立自定義控制項以及其他控制項...

WPF控制項開發之自定義控制項 3

建立 usercontrol 如前所述,在 wpf 中建立控制項的最簡單方法是從 usercontrol 派生。下面的示例演示用於定義 numericupdownusercontrol 的 使用者介面 ui 的 xaml 下面的示例演示此 usercontrol 的邏輯。如此示例所示,自定義 use...