WPF实现一个表格数据从cs获取动态渲染

  1. xaml代码
<Window x:Class="YourNamespace.MainWindow"  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
        Title="MainWindow" Height="350" Width="525">  
    <Grid>  
        <DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Products}">  
           <DataGrid.Resources>
	         <!--设置表头样式-->
             <Style TargetType="{x:Type DataGridColumnHeader}">
                 <Setter Property="HorizontalContentAlignment" Value="Center"/>
                 <Setter Property="VerticalAlignment" Value="Center"/>
                 <Setter Property="FontSize" Value="16"/>
                 <Setter Property="Padding" Value="0 10"/>
             </Style>
             <!--设置行样式-->
             <Style x:Key="CenteredTextBlockStyle" TargetType="{x:Type TextBlock}">
                  <Setter Property="VerticalAlignment" Value="Center"/>
                  <Setter Property="HorizontalAlignment" Value="Center"/>
                  <Setter Property="FontSize" Value="16"/>
              </Style>
            </DataGrid.Resources>
	    	<DataGrid.Columns>  
		        <DataGridTextColumn Header="Id" Binding="{Binding Id}" />  
		        <!--设置超出自动换行并显示滚动条-->
		        <DataGridTemplateColumn Header="Name" Width="2*">
         <DataGridTemplateColumn.CellTemplate >
            <DataTemplate>
            <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
                <TextBlock Text="{Binding Name}" TextWrapping="Wrap" Style="{StaticResource CenteredTextBlockStyle}"/>
            </ScrollViewer>
            </DataTemplate>
          </DataGridTemplateColumn.CellTemplate>
          </DataGridTemplateColumn>
		  <DataGridTextColumn Header="Price" Binding="{Binding Price}" />  
		<DataGridTemplateColumn Header="操作" Width="100">
		  <!--设置表格内的一个按钮-->
        <DataGridTemplateColumn.CellTemplate>
         <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <Button Content="编辑" Cursor="Hand" Click="editButton_Dianji" >
                    <Button.Resources>
                        <Style TargetType="{x:Type Border}">
                            <Setter Property="CornerRadius" Value="5"/>
                        </Style>
                    </Button.Resources>
                </Button>
            </StackPanel>
         </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
      </DataGridTemplateColumn>
	    	</DataGrid.Columns>  
		</DataGrid>
    </Grid>  
</Window>

2.cs代码

public ObservableCollection<Product> Products { get; set; }  
  
public MainWindow()  
{  
    InitializeComponent();  
    this.DataContext = this; // 设置数据上下文为当前窗口实例 
    // 初始化产品集合  
    Products = new ObservableCollection<Product>  
    {  
        new Product { Id = 1, Name = "Product 1", Price = 10.99M },  
        new Product { Id = 2, Name = "Product 2", Price = 20.99M }  
        // 添加更多产品...  
    };  
}

相关推荐

  1. WPF实现一个表格数据cs获取动态渲染

    2024-03-12 03:34:02       49 阅读
  2. vue实现二维数组表格渲染

    2024-03-12 03:34:02       51 阅读
  3. 第58讲 动态数据渲染订单查询实现

    2024-03-12 03:34:02       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-12 03:34:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-12 03:34:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-12 03:34:02       82 阅读
  4. Python语言-面向对象

    2024-03-12 03:34:02       91 阅读

热门阅读

  1. 存储日期,该如何抉择呢

    2024-03-12 03:34:02       35 阅读
  2. SpringBoot集成Swagger3.0

    2024-03-12 03:34:02       37 阅读
  3. Linux——信号处理

    2024-03-12 03:34:02       42 阅读
  4. 整站下载保存为mhtml

    2024-03-12 03:34:02       42 阅读
  5. 376. 摆动序列(力扣LeetCode)

    2024-03-12 03:34:02       41 阅读
  6. Redis运行原理及基本数据类型

    2024-03-12 03:34:02       33 阅读
  7. Facebook和Instagram全球宕机,原因未披露

    2024-03-12 03:34:02       49 阅读
  8. 腾讯 后端 一面(115min)

    2024-03-12 03:34:02       35 阅读
  9. Linux收集内存快照来使用crash分析的方法

    2024-03-12 03:34:02       42 阅读
  10. 面试题练习

    2024-03-12 03:34:02       42 阅读
  11. 力扣爆刷第89天之hot100五连刷31-35

    2024-03-12 03:34:02       42 阅读