日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

WPF入门(六)样式Style

發(fā)布時(shí)間:2024/4/11 asp.net 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WPF入门(六)样式Style 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

wpf提供了一種類(lèi)似css的對(duì)象- style,但是比css更強(qiáng)大。它支持直接設(shè)定屬性,更改呈現(xiàn)模板,觸發(fā)器,事件觸發(fā)等。MSDN描述如下:

MSDN

可以在從 FrameworkElement 或 FrameworkContentElement 派生的任何元素上設(shè)置 Style。樣式通常在 Resources 節(jié)內(nèi)部聲明為資源。由于樣式是一種資源,它們遵循適用于所有資源的相同范圍規(guī)則,因此樣式的聲明位置將影響它的適用范圍。例如,如果在應(yīng)用程序定義XAML 文件的根元素中聲明樣式,則該樣式可在應(yīng)用程序中的任何位置使用。如果您在創(chuàng)建導(dǎo)航應(yīng)用程序時(shí)在該應(yīng)用程序的一個(gè)XAML 文件中聲明了樣式,則該樣式只能在該XAML 文件中使用。有關(guān)資源范圍規(guī)則的更多信息,請(qǐng)參見(jiàn)。

樣式聲明由 Style 對(duì)象構(gòu)成,該對(duì)象包含由一個(gè)或多個(gè) Setter 對(duì)象組成的集合。每個(gè) Setter 都包含一個(gè) Property 和一個(gè) Value。屬性是樣式所應(yīng)用于的元素的屬性名。將樣式聲明為資源后,就可以像引用任何其他資源一樣引用樣式。

?

使用 Windows Presentation Foundation (WPF) 樣式和模板化模型不僅可以維護(hù)和共享外觀,還可以讓呈現(xiàn)與邏輯分離。樣式和模板化模型包括一套允許您自定義UI 的功能。這套功能包括 Style 類(lèi)以及下列組件:

  • Trigger

  • EventTrigger 以及 Storyboard

  • ControlTemplate

  • DataTemplate

?

下面代碼演示了 將button控件顯示成圓形,設(shè)置背景色等。

代碼 ?1?<Window?x:Class="wpfAppStyleDemo.Window1"
?2?????xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
?3?????xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
?4?????Title="Window1"?Height="371"?Width="550">
?5?????<Window.Resources>
?6?????????<Style?TargetType="Button">
?7?????????????<!--Set?to?true?to?not?get?any?properties?from?the?themes.-->
?8?????????????<Setter?Property="OverridesDefaultStyle"?Value="True"/>
?9?????????????<Setter?Property="Background"?Value="LightBlue"?/>
10?????????????<Setter?Property="Template">
11?????????????????<Setter.Value>
12?????????????????????<ControlTemplate?TargetType="Button">
13?????????????????????????<Grid>
14?????????????????????????????<Ellipse?Fill="{TemplateBinding?Background}"/>
15?????????????????????????????<ContentPresenter?HorizontalAlignment="Center"
16?????????????????????????????VerticalAlignment="Center"/>
17?????????????????????????</Grid>
18?????????????????????</ControlTemplate>
19?????????????????</Setter.Value>
20?????????????</Setter>
21?????????</Style>
22?
23?????????<Style?TargetType="Button"?x:Key="btnStyle1">
24?????????????<Setter?Property="Background"?Value="#66FF33"/>
25?????????</Style>
26?
27?????????<Style?TargetType="{x:Type?TextBlock}">
28?????????????<Setter?Property="FontFamily"?Value="Segoe?Black"?/>
29?????????????<Setter?Property="HorizontalAlignment"?Value="Center"?/>
30?????????????<Setter?Property="FontSize"?Value="9pt"?/>
31?????????????<Setter?Property="Foreground"?Value="#333333"?/>
32?????????????<Setter?Property="Background"?Value="Yellow"?/>
33?????????</Style>
34?
35?????</Window.Resources>
36?????<Grid>
37?????????<Grid.ColumnDefinitions>
38?????????????<ColumnDefinition?Width="277*"?/>
39?????????????<ColumnDefinition?Width="251*"?/>
40?????????</Grid.ColumnDefinitions>
41?????????<Button?Height="23"?HorizontalAlignment="Left"?Margin="44,79,0,0"?Name="button1"?VerticalAlignment="Top"?Width="75">Button</Button>
42?????????<Button?Style="{StaticResource?btnStyle1}"?Height="23"?HorizontalAlignment="Right"?Margin="0,79,47,0"?Name="button2"?VerticalAlignment="Top"?Width="75">Button</Button>
43?????????<TextBlock?Margin="75,140,93,156"?Name="textBlock1">
44?????????????WPF演示,Style樣式
45?????????</TextBlock>
46?????</Grid>
47?</Window>
48?

?

注意 sytle 的作用域 TargetType指定了style要適用到的“類(lèi)型”,我們可以在這里指向控件。如果一個(gè)style沒(méi)有 x:key 標(biāo)記,那么它將適用在它的作用域下的所有控件類(lèi)型。演示代碼第23行和42行演示了 顯式指定一個(gè)style的用法,值得一提的是,“如果顯式的為一個(gè)控件指定了style ,那么 這個(gè)style具有更高的優(yōu)先權(quán)”。本例中第42行的button僅僅作用了一個(gè)style,全局的(第6行聲明的)style對(duì)它無(wú)效。

style的強(qiáng)大之處在這里體現(xiàn),他可以更改一個(gè)控件的ControlTemplate,本例中 將一個(gè)矩形的button變成了橢圓。

style的trigger在上一篇文章里已經(jīng)用到,本例就不再演示。

?

本節(jié)完

待續(xù)ing...

轉(zhuǎn)載于:https://www.cnblogs.com/vir56k/archive/2011/01/14/1935703.html

超強(qiáng)干貨來(lái)襲 云風(fēng)專(zhuān)訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生

總結(jié)

以上是生活随笔為你收集整理的WPF入门(六)样式Style的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。