Créer un Dictionnaire en xaml?
Pseudo exemple:
<Window>
<Window.Tag>
<x:Dictionary KeyType="{x:Type sys:String}" ValueType="{x:Type sys:Int32}">
<sys:DictionaryEntry Entry="{sys:DictionaryEntry Key0, 000}"/>
<sys:DictionaryEntry Key="key1" Value="111"/>
<sys:DictionaryEntry>
<sys:DictionaryEntry.Key>
<sys:String>Key2<sys:String>
</sys:DictionaryEntry.Key>
<sys:DictionaryEntry.Value>
<sys:Int32>222</sys:Int32>
</sys:DictionaryEntry.Value>
</sys:DictionaryEntry>
</x:Dictionary />
</Window.Tag>
</Window>
- Plus up-to-date de discussion à l'adresse stackoverflow.com/questions/2494823/...
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas utiliser la
Dictionary<TKey, TValue>
classe directement dans le XAML, car il n'y a aucun moyen de spécifier le type générique arguments (il sera possible dans la prochaine version de XAML, mais il ne sera pas pris en charge dans VS2010 concepteur WPF... du moins pas dans la version initiale).Cependant, vous pouvez déclarer un non-générique de classe qui hérite de
Dictionary<TKey, TValue>
, et de l'utiliser dans le code XAML.C#
XAML
Si les clés et les valeurs sont des chaînes de caractères, vous pouvez utiliser ListDictionary ou HybridDictionary.
Par exemple:
xmlns:Specialized="clr-namespace:System.Collections.Specialized;assembly=System"
Dans un une question relative à la j'ai donné un réponse qui montre comment on peut créer un dictionnaire générique en XAML sans le XAML 2009 en utilisant une des caractéristiques personnalisées Extension De Balisage à la place.
Essayer quelque chose comme cela:
utiliser cet espace de noms:
xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib"