Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#Wpf DataGrid可变列数_C#_Wpf_Datagrid - Fatal编程技术网

C#Wpf DataGrid可变列数

C#Wpf DataGrid可变列数,c#,wpf,datagrid,C#,Wpf,Datagrid,我想创建一个具有可变列数的datagrid,该列数在加载配置文件后设置。与wpf教程中的示例类似,但使用可变数量的额外ATRIBUTE作为数组,但这不起作用: using System; using System.Collections.Generic; using System.Windows; namespace WpfTutorialSamples.DataGrid_control { public partial class DataGridColumnsSample

我想创建一个具有可变列数的datagrid,该列数在加载配置文件后设置。与wpf教程中的示例类似,但使用可变数量的额外ATRIBUTE作为数组,但这不起作用:

    using System;
using System.Collections.Generic;
using System.Windows;

namespace WpfTutorialSamples.DataGrid_control
{
    public partial class DataGridColumnsSample : Window
    {
        public DataGridColumnsSample()
        {
            InitializeComponent();

            List<User> users = new List<User>();
            users.Add(new User() { Id = 1, Name = "John Doe", Birthday = new DateTime(1971, 7, 23),ExtraAttribute=new int[4] });
            users.Add(new User() { Id = 2, Name = "Jane Doe", Birthday = new DateTime(1974, 1, 17) ,ExtraAttribute=new int[4]});
            users.Add(new User() { Id = 3, Name = "Sammy Doe", Birthday = new DateTime(1991, 9, 2),ExtraAttribute=new int[4] });

            dgUsers.ItemsSource = users;
        }
    }

    public class User
    {
        public int Id { get; set; }

        public string Name { get; set; }

        public DateTime Birthday { get; set; }
        
        public int[] ExtraAtribute {get;set}

    }
}
使用系统;
使用System.Collections.Generic;
使用System.Windows;
命名空间WpfTutorialSamples.DataGrid\u控件
{
公共部分类DataGridColumnSample:窗口
{
公共DataGridColumnSample()
{
初始化组件();
列表用户=新列表();
Add(new User(){Id=1,Name=“John Doe”,生日=new DateTime(1971,7,23),ExtraAttribute=new int[4]});
Add(new User(){Id=2,Name=“Jane Doe”,生日=new DateTime(1974,1,17),ExtraAttribute=new int[4]});
Add(newuser(){Id=3,Name=“sammydoe”,生日=newdatetime(1991,9,2),ExtraAttribute=newint[4]});
dgUsers.ItemsSource=用户;
}
}
公共类用户
{
公共int Id{get;set;}
公共字符串名称{get;set;}
公共日期时间生日{get;set;}
public int[]extrapatribute{get;set}
}
}

为什么列数可变?带数字的矩阵(二维数组)?我可以在矩阵中添加行吗?可以。请参阅WPF中的“准备好使用矩阵的答案”。但很抱歉,这是俄罗斯人的StackOvetflow社区。在空白WPF应用程序中尝试该代码。如果希望保留数组,可以动态构建datagrid列。然后可以使用[i]绑定,其中i是数组的整数索引。这里的示例就是这样做的。数据相当复杂。我想这解决了我的问题