如何确定ResourceDictionary键的顺序?

flo*_*ele 3 c# wpf xaml resourcedictionary

我有以下ResourceDictionary(缩短):

<ResourceDictionary>
  <Fluent:RibbonContextualTabGroup Header="Dokument" x:Key="dokumentRibbonGroup" x:Name="dokumentRibbonGroup" />
  <Fluent:RibbonTabItem x:Key="dokumentRibbonTab" Header="Start" />
  <Fluent:RibbonTabItem x:Key="ueberpruefenRibbonTab" Header="Überprüfen" />
  <Fluent:RibbonTabItem x:Key="austauschRibbonTab" Header="Austausch" />
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)

当我访问Keys字典的属性时,键按以下顺序:

dokumentRibbonTab
austauschRibbonTab
ueberpruefenRibbonTab
dokumentRibbonGroup

我无法理解那个顺序.它不是按字母顺序排列的,不是修订版,尤其不是原始订单.有人有提示吗?或者甚至更好,关于如何指定项目顺序的建议ResourceDictionary

Jon*_*eet 5

它可能以某种方式基于哈希码.(不一定只是"按哈希码的升序排序".)特别是,文档声明:

ResourceDictionary类不是从DictionaryBase派生的.相反,ResourceDictionary类实现了IDictionary,但在内部依赖于Hashtable.

鉴于它使用哈希表,订单很可能取决于哈希.

通常,字典不是有序的 - 或者说,顺序是不应该依赖的实现细节.

鉴于我看不到任何指定订单的文档,我认为你应该它视为无序的.如果您想按特定顺序显示密钥,则应自行完成.