Ser*_*gey 5 .net c# wpf wpf-controls
我需要创建一个网格.它应该是可编辑的
我应该设置行数和列数.
例如
mygrid.RowCount = 3;
mygrid.ColumnCount = 3;
Run Code Online (Sandbox Code Playgroud)
它应该是这样的:

如何将2D数组绑定到DataGrid?
dth*_*rpe 16
您可以使用WPF DataGrid控件.它显示一个单元格网格,对应于包含属性(列)的对象(行)集合.您需要提供数据存储 - 对象的集合.集合中的对象数(集合计数)将确定网格中的行数.DataGrid支持在UI中编辑数据.
此示例定义三列并将它们绑定到数据对象的A,B和C属性.
<DataGrid AutoGenerateColumns="False"
Height="200"
HorizontalAlignment="Left"
Name="dataGrid1"
VerticalAlignment="Top"
Width="200">
<DataGrid.Columns >
<DataGridTextColumn Binding="{Binding Path=A}" MinWidth="50" />
<DataGridTextColumn Binding="{Binding Path=B}" MinWidth="50" />
<DataGridTextColumn Binding="{Binding Path=C}" MinWidth="50" />
</DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
您需要将具有这些属性的对象集合(在代码中或使用数据绑定)分配给DataGrid的ItemsSource属性,就像使用任何其他ItemsControl一样.像这样的东西:
public partial class MainWindow: Window
{
public class DataObject
{
public int A { get; set; }
public int B { get; set; }
public int C { get; set; }
}
public MainWindow()
{
InitializeComponent();
var list = new ObservableCollection<DataObject>();
list.Add(new DataObject() { A = 6, B = 7, C = 5 });
list.Add(new DataObject() { A = 5, B = 8, C = 4 });
list.Add(new DataObject() { A = 4, B = 3, C = 0 });
this.dataGrid1.ItemsSource = list;
}
Run Code Online (Sandbox Code Playgroud)
在编辑中心单元格时,结果如下所示:

附注:WPF Grid类仅用于布局.它不提供数据编辑支持.