使用 DataGrid 以编程方式收集输入数据并将其存储在 List<> 中
Posted
技术标签:
【中文标题】使用 DataGrid 以编程方式收集输入数据并将其存储在 List<> 中【英文标题】:Using DataGrid to collect input data and store it in a List<>, programmatically 【发布时间】:2012-03-16 12:43:55 【问题描述】:我最近开始使用 C# WPF,我正在尝试创建一个 DataGrid,它以编程方式收集用户输入并将其存储在 List 中。 到目前为止,这就是我所做的。
私人无效 Introduzir_Click(对象发送者,RoutedEventArgs e) //inValores.Add(new InData(12, 23, 45)); DataGrid dados = new DataGrid();
dados.ItemsSource = inValores;
dados.Width = plotCanvas.ActualWidth;
dados.Height = plotCanvas.ActualHeight;
dados.AutoGenerateColumns = false;
dados.IsReadOnly = false;
dados.ColumnWidth = 150;
dados.CanUserAddRows = true;
DataGridTextColumn ColRaio = new DataGridTextColumn();
DataGridTextColumn ColMassa = new DataGridTextColumn();
DataGridTextColumn ColVelocidade = new DataGridTextColumn();
dados.Columns.Add(ColRaio);
dados.Columns.Add(ColMassa);
dados.Columns.Add(ColVelocidade);
plotCanvas.Children.Add(dados);
ColRaio.Header = "Raio";
//ColRaio.Binding = new Binding("[inValores.RAIO]");
ColMassa.Header = "Massa";
//ColMassa.Binding = new Binding("[inValores.VELINICIAL]");
ColVelocidade.Header = "Velocidade";
//ColVelocidade.Binding = new Binding("[inValores.MASSA]");
提前致谢。
【问题讨论】:
如何让用户在网格上输入值并将信息保存到列表中。我看过很多教程,但主要是编辑已经存在的数据,而且大多数只使用 xaml。 【参考方案1】:您可以将每列的绑定指定为双向。
Binding bRaio=new Binding();
bRaio.Path = new PropertyPath("RAIO");
bRaio.Mode = BindingMode.TwoWay;
ColRaio.Binding = bRaio;
其他两列类似
【讨论】:
以上是关于使用 DataGrid 以编程方式收集输入数据并将其存储在 List<> 中的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式创建 Dojo DataGrid:“抱歉,发生错误。”布局问题?