【Windows Phone 8】模板

1.控件模板--Template

 1     <Style x:Name="ButtonCircleStyle" TargetType="Button">
 2         <Setter Property="Width" Value="100"></Setter>
 3         <Setter Property="Height" Value="100"></Setter>
 4         <Setter Property="Template">
 5             <Setter.Value>
 6                 <ControlTemplate TargetType="Button">
 7                     <Border BorderBrush="Gray" BorderThickness="2"  CornerRadius="50" Background="{TemplateBinding Background}">
 8                         <ContentPresenter  
 9                             VerticalAlignment="Center" 
10                             HorizontalAlignment="Center"
11                             Content="{TemplateBinding Content}"/>
12                     </Border>
13                 </ControlTemplate>
14             </Setter.Value>
15         </Setter>
16     </Style>

1.這裏的Template屬性就是用來設置控件模板spa

2.ControlTemplate也要指定TargetType。code

3.TemplateBinding用來綁定父控件的屬性blog

4.ContentPresenter用來爲Button內容佔位(即Button的Content屬性顯示在該位置)get

 

2.數據模板--DataTemplate

1     <DataTemplate x:Name="DefaultDataTemplate">
2         <TextBlock Text="{Binding}" Foreground="White"></TextBlock>
3     </DataTemplate>

1.使用DataTemplate很簡單,只須要設定它,而後賦值到CellTemplate, ContentTemplate, ItemTemplate .... 屬性下面便可it

2.使用時綁定ItemsControl(Listbox)的ItemTemplate屬性模板

<ItemsControl ItemTemplate="{StaticResource DefaultDataTemplate}" ItemsSource="{Binding Names}">

 

3.列表話控件的樣式設置

 1     <Style x:Name="DefaultItemsControlStyle" TargetType="ItemsControl">
 2         <Setter Property="Template">
 3             <Setter.Value>
 4                 <ControlTemplate>
 5                     <Border Width="440" CornerRadius="20" BorderBrush="White" BorderThickness="2" Padding="20">
 6                         <ItemsPresenter></ItemsPresenter>
 7                     </Border>
 8                 </ControlTemplate>
 9             </Setter.Value>
10         </Setter>
11         <Setter Property="ItemTemplate">
12             <Setter.Value>
13                 <DataTemplate>
14                     <TextBlock Text="{Binding}" Foreground="White"></TextBlock>
15                 </DataTemplate>
16             </Setter.Value>
17         </Setter>
18     </Style>

1.ItemsPresenter用來爲ItemsControl的子項佔位class

2.ItemTemplate用來爲ItemsControl的子項設置數據模板List

 

附WPF控件類派生關係圖

相關文章
相關標籤/搜索