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>

 

posted @ 2023-04-03 16:20  MrKing&  阅读(189)  评论(0编辑  收藏  举报