问题描述
在WPF应用程序中,我在主窗口中使用DataGrid
。它显示的数据来自SortedDictionary<int,Individual>
,其中Individual
是包含一个人的名字和其他事实的类。具体来说,数据来自SortedDictionary
的{{1}}属性。
显然,Values
没有实现SortedDictionary
界面,因此在显示了INotifyCollectionChanged
的原始集合之后,如果我Values
或Add
条目进入字典后,UI不会收到通知,并随后出现问题。
在网络上进行了很多研究之后,我对如何解决此问题并没有得到一个体面的想法,以便可以正确通知用户界面。我看到的帖子都没有涉及Remove
。
我使用的SortedDictionary
的主要功能是SortedDictionary
,Add
和Remove
。
有人可以建议我还是为我提供一个有关如何真正做到这一点的例子?
在主窗口的XAML中,我有:
Item[TKey]
在具有<DataGrid x:Name="dgPeople" Margin="23" SelectionChanged="dgSelectionChanged" SelectionMode="Single" SelectionUnit="FullRow" AutoGenerateColumns="False" IsReadOnly="True"
IsEnabled="False" TextSearch.TextPath="paternalSurname" MouseDoubleClick="dgPeoplePersondoubleclicked" Grid.Row="1" MinWidth="1125" MinHeight="435" SizeChanged="dgSizeChanged"
CanUserReorderColumns="False" CanUserResizeColumns="False" CanUserSortColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" CanUserResizeRows="False"
AlternationCount="2" AlternatingRowBackground="PeachPuff" IsTextSearchEnabled="True" IsTextSearchCaseSensitive="False">
<DataGrid.Columns>
<DataGridTextColumn x:Name="dgtcPaternalSurname" Header="Paternal Surname" Width="150" Binding="{Binding paternalSurname}" />
<DataGridTextColumn x:Name="dgtcMaternalSurname" Header="Maternal Surname" Width="150" Binding="{Binding maternalSurname}" />
<DataGridTextColumn x:Name="dgtcNames" Header="Names" Width="360" Binding="{Binding names}" />
<DataGridTextColumn x:Name="dgtcState" Header="S" Width="17" Binding="{Binding state}" MinWidth="17" MaxWidth="17"/>
<DataGridTextColumn x:Name="dgtcBirthDate" Header="Birth Date" Width="120" Binding="{Binding birthDate}" MaxWidth="120" MinWidth="120" />
<DataGridTextColumn x:Name="dgtcBirthPlace" Header="Birth Place" Width="320" Binding="{Binding birthPlace}" MaxWidth="320" MinWidth="320" />
</DataGrid.Columns>
的窗口的构造函数中,我有:
DataGrid
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)