我有一个自定义数据结构,它几乎是我希望在WPF中的(虚拟)数据网格中显示的字符串数组列表。我见过的所有绑定示例都是针对具有已知属性的对象,例如具有蓝色和红色属性的Colors对象。
我的数据正在从SQL查询填充并返回未知数量的列。
我如何绑定到这种类型的结构?
(出于性能原因,我不想使用像ObservableCollection这样的东西:我的数据将是静态的,所以我不需要INotifyPropertyChanged)
答案 0 :(得分:2)
请参阅以下问题:How to populate a WPF grid based on a 2-dimensional array
如果您只对显示2d数据感兴趣,那么 Jobi Joy 的答案将使用Grid
完成。
如果您还希望能够编辑数据,那么您可以使用我为此目的创建的控件,称为DataGrid2D
,其子类为DataGrid
要使用它,只需添加对DataGrid2DLibrary.dll的引用,添加此命名空间
xmlns:dg2d="clr-namespace:DataGrid2DLibrary;assembly=DataGrid2DLibrary"
然后将其绑定到您的List<string[]>
<dg2d:DataGrid2D ItemsSource2D="{Binding ListStringArrayProperty}"/>