國內的wpf技術先行者
周銀輝曾介紹過
如何動態改變應用程式的主題樣式
,今天我們來介紹一種輕量級的改變介面風格的方式——動態改變主題色。
下面我們就來自己動手實現這種技術:
x:key
="color"
color
="skyblue"
/>
然後來設計這樣乙個介面:
我們讓使用者通過4個滑塊來分別定製顏色的a、r、g、b值,其完整**為:
height
="28"
/>
height
="28"
/>
height
="28"
/>
height
="28"
/>
height
="*"
/>
width
="65*"
/>
width
="213*"
/>
grid.row
="0"
horizontalcontentalignment
="right"
>
透明度:
grid.row
="1"
horizontalcontentalignment
="right"
>
紅色:grid.row
="2"
horizontalcontentalignment
="right"
>
綠色:grid.row
="3"
horizontalcontentalignment
="right"
>
藍色:grid.row
="0"
grid.column
="1"
margin
="3"
name
="a"
smallchange
="1"
largechange
="15"
maximum
="255"
value
="255"
/>
grid.row
="1"
grid.column
="1"
margin
="3"
name
="r"
smallchange
="1"
largechange
="15"
maximum
="255"
value
="255"
/>
grid.row
="2"
grid.column
="1"
margin
="3"
name
="g"
smallchange
="1"
largechange
="15"
maximum
="255"
value
="255"
/>
grid.row
="3"
grid.column
="1"
margin
="3"
name
="b"
smallchange
="1"
largechange
="15"
maximum
="255"
value
="255"
/>
grid.column
="1"
grid.row
="4"
horizontalalignment
="left"
margin
="3,5,0,5"
name
="button1"
width
="75"
click
="button1_click"
>
更新顏色
需注意,要把滑塊的最大值設為255。
視窗樣式**如下:
定義樣式為幾個border進行巢狀,在最底層引用的之前定義的單色筆刷,在上層用低不透明度的白色和黑色覆蓋以產生不同的層次效果。
標籤樣式為:
按鈕樣式為:
其原理與視窗樣式相同。
然後回到主介面設計視窗,設定窗體的樣式:
style=""
接下來編輯後台**,首先為窗體增加事件處理以提供拖動功能:
mouseleftbuttondown
="window_mouseleftbuttondown"
後台事件處理**:
private
void window_mouseleftbuttondown(object sender, mousebuttoneventargs e)
為按鈕增加事件處理來更新介面顏色:
private
void button1_click(object sender, routedeventargs e)
「更新顏色」方法**如下:
public
void
更新顏色(color c)
此方法首先移除資源「color」,然後再新增乙個同名的新筆刷,這樣就完成了動態替換工作。
現在編譯並執行程式,可以看到如下效果:
WPF動態改變主題顏色
國內的wpf技術先行者 周銀輝曾介紹過 如何動態改變應用程式的主題樣式 今天我們來介紹一種輕量級的改變介面風格的方式 動態改變主題色。下面我們就來自己動手實現這種技術 x key color color skyblue 然後來設計這樣乙個介面 我們讓使用者通過4個滑塊來分別定製顏色的a r g b值...
TextView設定動態改變顏色
第1種 tv.settextcolor android.graphics.color.red 系統自帶的顏色類 第2種 tv.settextcolor 0xffff00ff 0xffff00ff是int型別的資料,分組一下0x ff ff00ff,0x是代表顏色整數的標記,ff是表示透明度,ff00...
WPF 顏色漸變
一 按鈕顏色漸變 從上而下 button height 100 width 200 lineargradientbrush endpoint 0.5,1 startpoint 0.5,0 gradientstop color ffc5d2f3 offset 0 gradientstop color ...