天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

一步一步學Silverlight :使用樣式封裝控件觀感

概述

Silverlight 2 Beta 1版本發布了,無論從Runtime還是Tools都給我們帶來了很多的驚喜,如支持框架語言Visual Basic, Visual C#, IronRuby, IronPython,對JSON、Web Service、WCF以及Sockets的支持等一系列新的特性?!兑徊揭徊綄WSilverlight 2系列》文章帶您快速進入Silverlight 2開發。

本文為系列文章第八篇,主要介紹在Silverlight中使用Style元素封裝控件觀感

Silverlight 支持一種 Style 機制,它允許我們把控件的屬性值封裝成可重用的資源。我們可以把這些樣式聲明保存在獨立于頁面的其他文件中,然后就可以在一個應用程序中跨控件和頁面重用(甚至跨多個應用程序重用)。在做一些基本定制的場景下,概念上類似于在 HTML 中重用 CSS。

內聯樣式

內聯樣式這個概念其實跟我們在HTML中指定元素的樣式一樣,在XAML中通過屬性來設置,如下面這段XAML,我們添加了兩個按鈕,并在其中設置字體的樣式:

<Canvas Background="#46461F">    <Button Width="200" Height="60" Background="Red"            Canvas.Top="90" Canvas.Left="30" Content="提 交"            FontFamily="微軟雅黑"            FontSize="24"            FontWeight="Bold"            Foreground="Green"/>    <Button Width="200" Height="60" Background="Red"            Canvas.Top="90" Canvas.Left="260" Content="取 消"            FontFamily="微軟雅黑"            FontSize="24"            FontWeight="Bold"            Foreground="Red"/></Canvas>

運行后顯示效果如下:

TerryLee_Silverlight2_0042

使用內聯樣式不是一種很好的做法,樣式不可重用,頁面XAML代碼混亂等,這些缺點其實類似于在HTML中直接設置元素的樣式。一種推薦的方式是應該使用全局的樣式。

 

 

全局樣式

為了更好使樣式能夠重用,并且減少XAML中的代碼,推薦使用全局樣式。在App.xaml中定義兩個樣式

<Application.Resources>    <Style x:Key="button1" TargetType="Button">        <Setter Property="FontFamily" Value="微軟雅黑"></Setter>        <Setter Property="FontSize" Value="24"></Setter>        <Setter Property="Foreground" Value="Green"></Setter>        <Setter Property="Background" Value="Red"></Setter>    </Style>    <Style x:Key="button2" TargetType="Button">        <Setter Property="FontFamily" Value="微軟雅黑"></Setter>        <Setter Property="FontSize" Value="24"></Setter>        <Setter Property="Foreground" Value="Red"></Setter>        <Setter Property="Background" Value="Red"></Setter>    </Style></Application.Resources>

通過Style元素指定,需要設置唯一的一個Key,類似于CSS中的類名或者ASP.NET 2.0中Skin功能,并且通過TargetType指定該樣式將使用在哪類控件上,每一個屬性都用Setter來指定。在XAML中,通過StaticResource標記句法來指定具體的樣式:

<Canvas Background="#46461F">    <Button Width="200" Height="60"            Canvas.Top="90" Canvas.Left="30" Content="提 交"            Style="{StaticResource button1}"/>    <Button Width="200" Height="60"            Canvas.Top="90" Canvas.Left="260" Content="取 消"            Style="{StaticResource button2}"/></Canvas>

相比較上面的XAML文件,現在代碼已經干凈多了,這使得我們可以只專注于應用程序的業務,而無需考慮它的外觀(在Beta1中似乎有些屬性設置后會報錯)。運行后效果如下:

TerryLee_Silverlight2_0043

樣式重寫

定義了全局樣式之后,樣式能夠被重寫,即內聯樣式的優先級高于全局樣式。如上面的示例中,我們在XAML中通過屬性Foreground指定第一個按鈕的前景色為藍色:

<Canvas Background="#46461F">    <Button Width="200" Height="60"            Canvas.Top="90" Canvas.Left="30" Content="提 交"            Style="{StaticResource button1}"            Foreground="Blue"            />    <Button Width="200" Height="60"            Canvas.Top="90" Canvas.Left="260" Content="取 消"            Style="{StaticResource button2}"/></Canvas>

盡管我們在全局樣式中指定第一個按鈕的前景色為綠色,通過內聯樣式重寫后,它顯示為藍色:

TerryLee_Silverlight2_0044

結束語

本文簡單的介紹了Silverlight 2中使用樣式來封裝控件觀感,對任何控件都可以使用全局樣式進行封裝。

NET技術一步一步學Silverlight :使用樣式封裝控件觀感,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 伦理片在线线手机版韩国免费观看 | 一级片mp4| 啊片色播电影 | 美女MM131爽爽爽 | 2022国产麻豆剧传媒剧情 | 祺鑫WRITEAS流出来了 | 免费亚洲视频在线观看 | 一本道高清到手机在线 | 免费网站在线观看国产v片 免费完整版观看 | 全是肉的高h短篇列车 | 魔乳 堕乳漫画acg产卵 | 久久成人永久免费播放 | 学生妹被爆插到高潮无遮挡 | 神马影院午夜伦理限级 | 久久婷婷五月综合色精品首页 | 亚洲AV久久婷婷蜜臀无码不卡 | 苍井空a 集在线观看网站 | 91看片淫黄大片.在线天堂 | 色偷拍自怕亚洲在线 | 亚洲精品无AMM毛片 亚洲精品网址 | 午夜婷婷一夜七次郎 | 先锋影音 av | 国产精品18久久久久网站 | 国产精品人妻无码免费A片导航 | 欧美videos人牛交 | 熟女久久久久久久久久久 | 国产成人免费高清激情视频 | 少妇高潮A片特黄久久精品网 | 国产亚洲精品97在线视频一 | 亚洲 欧美 国产 综合 播放 | 国产成人片视频一区二区青青 | 国产中文字幕免费观看 | 久久国产精品二区99 | 亚洲国产成人精品青青草原100 | 超碰97人人做人人爱亚洲尤物 | 无遮挡h肉3d动漫在线观看 | 亚洲色播永久网址大全 | 亚洲狠狠网站色噜噜 | 久久精品视频免费 | 成年女人免费影院播放 | 美女被男人撕衣舔胸 |