WPF入门基础2-控件模板、数据模板

1.控件模板

 

1
2
3
4
5
6
7
8
9
10
<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

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<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 @   MrKing&  阅读(205)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示