<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      一步一步學(xué)Silverlight 2系列(8):使用樣式封裝控件觀感

      概述

      Silverlight 2 Beta 1版本發(fā)布了,無(wú)論從Runtime還是Tools都給我們帶來(lái)了很多的驚喜,如支持框架語(yǔ)言Visual Basic, Visual C#, IronRuby, Ironpython,對(duì)JSON、Web Service、WCF以及Sockets的支持等一系列新的特性。《一步一步學(xué)Silverlight 2系列》文章帶您快速進(jìn)入Silverlight 2開發(fā)。

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

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

      內(nèi)聯(lián)樣式

      內(nèi)聯(lián)樣式這個(gè)概念其實(shí)跟我們?cè)贖TML中指定元素的樣式一樣,在XAML中通過(guò)屬性來(lái)設(shè)置,如下面這段XAML,我們添加了兩個(gè)按鈕,并在其中設(shè)置字體的樣式:

      <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>

      運(yùn)行后顯示效果如下:

      TerryLee_Silverlight2_0042

      使用內(nèi)聯(lián)樣式不是一種很好的做法,樣式不可重用,頁(yè)面XAML代碼混亂等,這些缺點(diǎn)其實(shí)類似于在HTML中直接設(shè)置元素的樣式。一種推薦的方式是應(yīng)該使用全局的樣式。

      全局樣式

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

      <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>

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

      <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文件,現(xiàn)在代碼已經(jīng)干凈多了,這使得我們可以只專注于應(yīng)用程序的業(yè)務(wù),而無(wú)需考慮它的外觀(在Beta1中似乎有些屬性設(shè)置后會(huì)報(bào)錯(cuò))。運(yùn)行后效果如下:

      TerryLee_Silverlight2_0043

      樣式重寫

      定義了全局樣式之后,樣式能夠被重寫,即內(nèi)聯(lián)樣式的優(yōu)先級(jí)高于全局樣式。如上面的示例中,我們?cè)赬AML中通過(guò)屬性Foreground指定第一個(gè)按鈕的前景色為藍(lán)色:

      <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>

      盡管我們?cè)谌謽邮街兄付ǖ谝粋€(gè)按鈕的前景色為綠色,通過(guò)內(nèi)聯(lián)樣式重寫后,它顯示為藍(lán)色:

      TerryLee_Silverlight2_0044

      結(jié)束語(yǔ)

      本文簡(jiǎn)單的介紹了Silverlight 2中使用樣式來(lái)封裝控件觀感,對(duì)任何控件都可以使用全局樣式進(jìn)行封裝。

      下一篇:一步一步學(xué)Silverlight 2系列(9):使用控件模板

      posted @ 2008-03-08 14:13  TerryLee  閱讀(25459)  評(píng)論(31)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲精品美女久久7777777| 成人网站免费在线观看| 青春草公开在线视频日韩| 91在线国内在线播放老师 | 亚洲综合精品一区二区三区| 毛片无遮挡高清免费| 深夜在线观看免费av| 国产成人综合亚洲第一区| 国产成人不卡一区二区| 亚洲精品美女一区二区| 亚洲成色精品一二三区| 漂亮的保姆hd完整版免费韩国| 日日噜噜夜夜狠狠视频| 山阴县| 一本高清码二区三区不卡| 美腿丝袜亚洲综合在线视频| 日日噜噜夜夜狠狠视频| 都安| 亚洲成av人片天堂网| 欧美国产日产一区二区| 国产亚洲精品aaaa片app| 国产av一区二区三区无码野战 | 色老99久久九九爱精品| 日本国产一区二区三区在线观看| 麻豆国产成人AV在线播放| 国产h视频在线观看| 又爽又黄又无遮挡的视频| 香港日本三级亚洲三级| 欧洲亚洲成av人片天堂网| 国产网友愉拍精品视频手机 | 一本高清码二区三区不卡| 3d无码纯肉动漫在线观看| 临潭县| 国产色婷婷精品综合在线| 亚洲中文字字幕精品乱码| 亚洲区一区二区三区亚洲| 精品欧洲av无码一区二区| 九九热精品在线视频观看| 亚洲国产精品综合久久2007 | 国产成人欧美日韩在线电影| 国产国产午夜福利视频|