成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Silverlight實用竅門系列:Style

開發 后端
Style分為內聯樣式(控件本身樣式)、頁內級別樣式(本身UserControl.Resources內樣式)、應用程序域級別樣式(App.Xaml內樣式)、ResourceDictionary字典資源。

在Silverlight中的Style相當于Html中的Css,是其一個重要的組成部分。它可以聲明于UserControl.Resources也就是本頁面資源內或者控件資源內,也可以聲明于App.Xaml內或者ResourceDictionary字典資源內。

Style分為內聯樣式(控件本身樣式)、頁內級別樣式(本身UserControl.Resources內樣式)、應用程序域級別樣式(App.Xaml內樣式)、ResourceDictionary字典資源。

Style的作用順序是就近原則,比如一個控件先使用自身樣式,然后在本頁面內的資源尋找具有指定Key的樣式,如果找到就使用此樣式,沒有就找App.Xaml內樣式,再沒有就取ResourceDictionary字典資源內尋找。

A.其聲明為 <Style TargetType="ListBox" x:Key="listBox" BasedOn="{StaticResource fontColor}"></Style>

TargetType:針對什么控件

x:Key:此樣式的樣式名稱Key,對于不需要x:Key指定的隱式樣式,我們將會在下節講述。

BasedOn:繼承于什么樣式,注意繼承的樣式需要以BasedOn="{StaticResource fontColor}"指定上級Style的Key

B.樣式內部項以<Setter></Setter>標簽聲明,如<Setter Property="FontSize" Value="15"></Setter>

Property:作用于什么屬性

Value:設置的值是什么?

同樣其也可以用以下方式申明Setter值,在這里把整個DataTemplate模板作為一個Setter的Value,然后設置針對屬性值為ListBox的ItemTemplate屬性。

  1. <Setter Property="ItemTemplate">  
  2.                 <Setter.Value>  
  3.                     <DataTemplate>  
  4.                         <StackPanel Orientation="Vertical" >  
  5.                             <StackPanel Orientation="Horizontal" Margin="5" Width="380">  
  6.                                 <TextBlock Text="{Binding ArtName}" Margin="5 10 0 0"></TextBlock>  
  7.                                 <TextBox Text="{Binding ArtContent}" Name="tbName" Margin="5"></TextBox>  
  8.                                 <TextBox Text="{Binding ArtAuthor}" Margin="5"></TextBox>  
  9.                                 <TextBlock Text="{Binding ArtUpdateTime}" Margin="5 10 0 0"></TextBlock>  
  10.                             </StackPanel>  
  11.                             <StackPanel Orientation="Horizontal"  Visibility="Collapsed">  
  12.                                 <TextBox Text="{Binding ArtContent}" Width="280"></TextBox>  
  13.                             </StackPanel>  
  14.                         </StackPanel>  
  15.                     </DataTemplate>  
  16.                 </Setter.Value>  
  17.             </Setter> 

最后貼出針對ListBox設置的樣式繼承于某fontColor樣式,代碼如下:

  1. <Application.Resources>  
  2.         <Style TargetType="ListBox" x:Key="fontColor">  
  3.             <Setter Property="Foreground" Value="Red"></Setter>  
  4.         </Style>  
  5.         <Style TargetType="ListBox" x:Key="listBox" BasedOn="{StaticResource fontColor}">  
  6.             <Setter Property="FontSize" Value="15"></Setter>  
  7.             <Setter Property="FontFamily" Value="Georgia"></Setter>  
  8.             <Setter Property="ItemTemplate">  
  9.                 <Setter.Value>  
  10.                     <DataTemplate>  
  11.                         <StackPanel Orientation="Vertical" >  
  12.                             <StackPanel Orientation="Horizontal" Margin="5" Width="380">  
  13.                                 <TextBlock Text="{Binding ArtName}" Margin="5 10 0 0"></TextBlock>  
  14.                                 <TextBox Text="{Binding ArtContent}" Name="tbName" Margin="5"></TextBox>  
  15.                                 <TextBox Text="{Binding ArtAuthor}" Margin="5"></TextBox>  
  16.                                 <TextBlock Text="{Binding ArtUpdateTime}" Margin="5 10 0 0"></TextBlock>  
  17.                             </StackPanel>  
  18.                             <StackPanel Orientation="Horizontal"  Visibility="Collapsed">  
  19.                                 <TextBox Text="{Binding ArtContent}" Width="280"></TextBox>  
  20.                             </StackPanel>  
  21.                         </StackPanel>  
  22.                     </DataTemplate>  
  23.                 </Setter.Value>  
  24.             </Setter>  
  25.         </Style>  
  26.     </Application.Resources> 

在看實例中使用樣式如下代碼:

  1. <UserControl.Resources>  
  2.         <local:ArtList x:Key="SourceList"></local:ArtList>  
  3.     </UserControl.Resources>  
  4.     <Grid x:Name="LayoutRoot" Background="White"  DataContext="{StaticResource SourceList}">  
  5.         <ListBox x:Name="lbRes" ItemsSource="{Binding ArticleList}"  Style="{StaticResource listBox}" 
  6.                  Margin="0 50 0 0 " 
  7.                  HorizontalAlignment="Left" VerticalAlignment="Top" 
  8.                   Height="400"  >  
  9.         </ListBox>  
  10.     </Grid> 

實現效果如下圖,可以看到該ListBox實現了Style中的模板樣式和字體大小等,另外還繼承了fontColor樣式中的字體顏色,如需源碼請點擊 SLStyle.zip 下載。

原文鏈接:http://www.cnblogs.com/chengxingliang/archive/2012/07/02/2558112.html

【編輯推薦】

責任編輯:張偉 來源: 程興亮的博客
相關推薦

2009-08-03 18:46:38

Silverlight

2009-12-31 17:00:40

Silverlight

2013-12-31 09:26:31

JavaScript技巧

2009-08-04 09:32:27

部署Silverlig

2020-07-15 08:00:52

Rust語言技巧

2009-12-29 20:23:15

布線

2011-09-08 14:21:37

jQueryWidget

2010-11-26 10:57:13

跳槽

2010-04-06 14:58:04

CDMA無線上網提速竅

2010-04-22 15:34:16

Oracle海量數據

2010-12-15 14:59:58

腳本Excel

2009-10-09 13:33:00

自學CCNACCNA

2010-05-13 10:57:51

MySQL SELEC

2009-02-02 10:53:34

SilverlightSilverlightRIA

2011-01-27 08:49:47

SilverlightWeb.NET

2011-01-26 09:50:18

Silverlight.NetJavaScript

2018-09-11 08:40:00

前端JavaScriptt性能優化

2010-03-15 12:56:55

Python Java

2011-04-18 13:52:31

Ubuntu MAC

2010-08-24 13:55:38

DIVstyle
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品毛片一区二区在线看 | 亚洲一一在线 | 97国产精品 | 久久免费精品 | 粉嫩粉嫩芽的虎白女18在线视频 | 亚洲综合大片69999 | 91视频网| 日韩视频免费 | 国产一级成人 | 国产日韩欧美在线播放 | 久草网址| 特级生活片 | 国产免费一级一级 | 在线成人av| 蜜桃视频在线观看免费视频网站www | 在线欧美一区二区 | 两性午夜视频 | 国产一级一级毛片 | 亚洲精品国产一区 | 日韩av一区二区在线观看 | 亚洲三级在线 | 国产精品亚洲综合 | 久久久久久国产 | 9久久精品 | 国内精品免费久久久久软件老师 | 视频在线一区二区 | 久久精品99久久 | 国产精品九九九 | 久久久69| 男人天堂网址 | 欧美一区二区大片 | 久久国产区 | 国产精品一区二区三区久久 | 祝你幸福电影在线观看 | 亚洲精品久久 | 成人一区二区三区视频 | 久久精品国产一区二区电影 | 久久精彩视频 | 国产一区二区三区在线 | 国产美女在线播放 | 九九九久久国产免费 |