在wpf中的控件和我们之前接触的控件有说不同,他相对于以前的控件更加灵活,在传统的winForm控件中要想重新定制一些控件是很麻烦的,而在wpf中我们可以很方便的定制自己需要改的控件。这就是模板,模板适用于这样一种场合:控件在功能上满足程序的要求,但界面上不能(或不方便)满足程序的要求,比如说:我们更改一个控件的外观,都是基于其已有的属性——要更改其背景色,设置Background属性;要更改其高度,设置其Heigth属性……如果一个控件没有提供相应的属性,则无法进行处理,比如现在需要一个椭圆按钮,由于Button上并没有提供相关的属性,则我们不能够(至少是不方便)通过设置其属性来实现我们的要求。在这种情形下,控件模板应运而生。下面是一些简单的例子
1. ControlTempalte - 自定义BUTTON
- <Window x:Class="WpfApplication1.Window2"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- Title="Window2" Height="300" Width="300">
- <Window.Resources>
- <ItemsPanelTemplate x:Key="ItemsPanelTemplate1">
- <VirtualizingStackPanel IsItemsHost="True" Orientation="Horizontal"/>
- </ItemsPanelTemplate>
- </Window.Resources>
- <Grid>
- <ListBox Margin="10,10,22,73" Name="listBox1" ItemsPanel="{DynamicResource ItemsPanelTemplate1}" />
- </Grid>
- </Window>
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Name="txt1"></TextBlock>
<TextBox Name="tb"></TextBox>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
这里有个疑问我怎样获取模板中的控件并使用它。