• 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}">
                     "HorizontalContentAlignment" Value="Center"/>
                     "VerticalAlignment" Value="Center"/>
                     "FontSize" Value="16"/>
                     "Padding" Value="0 10"/>
                 Style>
                 
                 <Style x:Key="CenteredTextBlockStyle" TargetType="{x:Type TextBlock}">
                      "VerticalAlignment" Value="Center"/>
                      "HorizontalAlignment" Value="Center"/>
                      "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}">
                                "CornerRadius" Value="5"/>
                            Style>
                        Button.Resources>
                    Button>
                StackPanel>
             DataTemplate>
            DataGridTemplateColumn.CellTemplate>
          DataGridTemplateColumn>
    	    	DataGrid.Columns>  
    		DataGrid>
        Grid>  
    Window>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 相关阅读:
    设计模式-结构型模式
    数据中心设计方案 实例,数据中心网络设计方案
    2022年武汉市小微服务业企业进入规模服务业企业奖励申报条件以及申报流程汇总
    计算机毕业设计(附源码)python政府项目管理平台
    WebAssembly学习笔记(一)
    并发编程二 JMM&volatile详解
    Springboot+mysql+大学生就业管理系统 毕业设计 -附源码290915
    栅形状的影响及可靠性的优化
    ESP 特权隔离机制—案例研究
    jenkins升级及基于jeecgboot 的nbcio-boot前端演示发布
  • 原文地址:https://blog.csdn.net/TKP666/article/details/136471485