c# – WPF中的网格表

我需要创建一个网格.它应该是可编辑的

我应该设置行数和列数.

例如

mygrid.RowCount = 3;
mygrid.ColumnCount = 3;

它应该是这样的:

如何将2D数组绑定到DataGrid?

您可以使用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>

您需要将具有这些属性的对象集合(在代码中或使用数据绑定)分配给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;
}

在编辑中心单元格时,结果如下所示:

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

相关文章
相关标签/搜索