如何通知哈希集第一个元素的更改

本文关键字:元素 第一个 哈希集 何通知 通知 | 更新日期: 2023-09-27 18:04:00

我有一个属性,它是一个哈希集,当第一个元素的属性发生变化时,我想通知视图。

当属性改变时,我实现了通知的接口,但是我不知道如何通知视图。在我的视图中有这样的代码:

<DataGridTextColumn Header="Field01" Binding="{Binding Path=MyHashSet[0], Converter={StaticResource myValeuConverter}}"/>

问题是hashsheet没有访问元素的方式,所以我不能使用myHashSet[0]或myHashSet. elementat(0)或其他东西。

如果在我的视图模型中,我使用Linq,哈希集有方法First(),但在视图中,我不知道是否可以包括Linq来访问这些方法。

那么,有可能在转换器中使用我的哈希集的第一个元素吗?

谢谢。

如何通知哈希集第一个元素的更改

HashSet没有顺序(至少没有您可以依赖的顺序)。"第一"的概念不适用。

来自MSDN:

HashSet类提供高性能的集合操作。一组是一个不包含重复元素的集合,它的元素没有特定的顺序。

您需要选择某种类型的有序集合类型。

可能是SortedSet或OrderedDictionary或只是List?

我不确定这对你有多大帮助,或者这是否是你正在寻找的答案:

在将上述"First"项添加到HashSet之前,您可以在ViewModel中拥有引用该项的属性,并且您的xaml可以绑定到该属性。