WPF入门基础2-控件模板、数据模板
1.控件模板
<ControlTemplate x:Key="myTemplate" TargetType="Button"> <Border Background="Green" CornerRadius="45"> <StackPanel> <TextBlock Text="****"/> <ContentPresenter VerticalAlignment="{TemplateBinding VerticalAlignment}" HorizontalAlignment="{TemplateBinding HorizontalAlignment}"/> </StackPanel> </Border> </ControlTemplate>
引用:Template="{StaticResource myTemplate}"
2.1数据模板 CellTemplate
<DataGrid x:Name="MyList" AutoGenerateColumns="False" CanUserSortColumns="True" CanUserAddRows="False"> <DataGrid.Columns> <DataGridTextColumn Binding="{Binding Age}" Header="年龄" Width="100"/> <DataGridTextColumn Binding="{Binding Name}" Header="学生姓名" Width="100"/> <DataGridTextColumn Binding="{Binding Sex}" Header="性别" Width="100"/> <DataGridTemplateColumn Width="200" Header="操作"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <Button Content="新增"/> <Button Content="删除"/> </StackPanel> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> </DataGrid.Columns> </DataGrid> </Grid>
CS
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); List<Student> student = new List<Student>() { new Student() {Age=18,Name="张三",Sex="男" }, new Student() {Age=19,Name="李四",Sex="男" }, new Student() {Age=20,Name="小红",Sex="女" } }; MyList.ItemsSource = student; } } class Student { public int Age { get; set; } public string Name { get; set; } public string Sex { get; set; } }
2.2
<ItemsControl x:Name="MyLstBox"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <WrapPanel/> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemTemplate> <DataTemplate> <Button Width="50" Height="50" Margin="10" Content="{Binding Code}"/> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl>