我对整个 C# .net 很陌生,但我搜索了很多,但找不到如何让它工作。
我的视图中有一个 DataGrid,如下所示:
<DataGrid Name="SettingGrid" ItemsSource="{Binding Path=PluginSettings, Mode=OneWay, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}" AutoGenerateColumns="True" Margin="224.4,10,10,10"/>
PluginSettings 是一个 DataTable,根据用户的操作动态填充不同的列和行。PluginSettings 总是最新的,我已经检查了调试模式,列和行总是我想要的。但是视图永远不会更新。经过一番谷歌搜索,我发现 DataTable 不可枚举,因此无法绑定。我将绑定更改为{Binding Path=PluginSettings.DefaultView
. 这样,我可以使行完美地工作,但列却不行。
当我向我的 DataTable 添加一列时,视图永远不会显示它。如果我正确理解 DefaultView 是什么,这意味着我无法将用户在 Grid 上所做的更改复制到实际的 DataTable 以保存它们,这实际上是我的目标。
我错过了什么 ?使用 DataGrid 只是一个糟糕的选择吗,我想做的事情有更好的选择吗?
希望我把我的意思说清楚,英语不是我的第一语言。谢谢