2011-07-26 5 views
3

내가있어 다음 ResourceDictionary (단축) :ResourceDictionary 키의 순서는 어떻게 결정됩니까?

 
dokumentRibbonTab 
austauschRibbonTab 
ueberpruefenRibbonTab 
dokumentRibbonGroup 

것은 내가 할 수 없습니다 : 나는 사전의 Keys 속성에 액세스 할 때

<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> 

는, 키가 다음과 같은 순서에 그 순서의 어떤 감각. 알파벳순이 아니며, 특히 원래의 순서가 아닙니다. 누구도 힌트를 가지고 있습니까? 아니면 더 나은, ResourceDictionary에 항목의 순서를 지정하는 방법에 대한 제안?

답변

5

어떻게 든 해시 코드를 기반으로 할 수 있습니다. (반드시 "해시 코드의 오름차순"일 필요는 없습니다.) 특히, 문서 상태 :

ResourceDictionary 클래스는 DictionaryBase에서 파생되지 않습니다. 대신 ResourceDictionary 클래스는 IDictionary를 구현하지만 내부적으로 Hashtable에 의존합니다.

해시 테이블을 사용한다고해서 순서가 해시에 따라 달라질 수 있습니다.

일반적으로 사전 이 아니며 대신 주문에 의존하면 안되는 구현 세부 사항입니다.

순서를 지정하는 문서를 볼 수 없다고 가정하면 은 순서가 지정되지 않은 것으로으로 처리해야합니다. 특정 순서로 키를 제시하려면 직접해야합니다.

+0

우리는 순서가 정의 된대로라고 말할 수 있습니까? 하지만 StaticResource에만 적용 할 수 있을까요? –

+0

@Kishore : 아니, 나는 그것을 명령 할 어떤 방법이 있다고 생각하지 않는다. 주문에 대해서조차도 신경 쓰지 않는 것은 이상한 일입니다. –

+0

for staticresource 어떤 리소스를 참조하는 경우이를 사용하기 전에 정의해야합니다. 그 경우는 어떨까요? –

관련 문제