C# WPF MVVM DataGrid空白单元格,分别定义标题
我正在为我的公司写一个通用的导入工具。用户应该能够指定包含数据行/列的文件,如电子表格、制表符或逗号分隔值文件。加载文件不是问题;我将列标题和行数据存储到单独的列表中,因为我需要在导入逻辑的其余部分将它们分开 我希望能够在用户加载导入文件后向用户显示此数据。我认为C# WPF MVVM DataGrid空白单元格,分别定义标题,c#,wpf,xaml,mvvm,datagrid,C#,Wpf,Xaml,Mvvm,Datagrid,我正在为我的公司写一个通用的导入工具。用户应该能够指定包含数据行/列的文件,如电子表格、制表符或逗号分隔值文件。加载文件不是问题;我将列标题和行数据存储到单独的列表中,因为我需要在导入逻辑的其余部分将它们分开 我希望能够在用户加载导入文件后向用户显示此数据。我认为DataGrid是我最好的选择 以下是我拥有的DataGrid的xaml: <DataGrid ItemsSource="{Binding Path=Rows}" AutoGenerateColumns="Tr
DataGrid
是我最好的选择
以下是我拥有的DataGrid的xaml:
<DataGrid ItemsSource="{Binding Path=Rows}"
AutoGenerateColumns="True"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
Height="150" />
这是用户控件的一部分,用作主窗口中内容控件的静态资源。主窗口使用视图模型定位器设置此视图的数据上下文
但是,当我在视图模型中填充行并将标题作为集合中的第一个列表(这是一个可观察集合
)时,标题和行为空,并且生成的列数不正确
问题1:为什么字符串没有显示在单元格中?问题2:是否有一种方法可以将加载的头绑定到DataGrid,而不必首先将它们添加到Rows集合
谢谢 名单?不确定DG是否可以将其作为DC接受。通常,DG将绑定到模型集合,每个模型是每行的DataContext,并且模型的属性将绑定到每列中的单元格。此外,即使这样做了,这也永远不会起作用。您不能绑定到集合中的字符串并能够更新它(如果这是您的目标)。绑定不能在索引10的列表中用不可变实例A替换不可变实例B。这不是绑定的工作方式。对于绑定列,我将首先尝试类似于DataGrid的CustomDependencyProperty的东西,它接受一个集合,并基于该列表生成DataGrid的列。我对常规网格的RowCount和ColumnCount属性做了类似的操作,如果您想要一个示例的话,这些属性可能是类似的。唯一的问题是,您的头和BoundProperty可能必须命名相同,除非您实现了此DP所需的自定义类。