Ich habe Suche hoch und niedrig und kann keine Antwort darauf finden. Ich habe zwei FragenHinzufügen Sammlung oder Array zu WPF Ressource Wörterbuch
- Wie erstellen Sie ein Array oder eine Sammlung in XAML. Ich habe ein Array, das ich dort festhalten und an eine Combobox binden möchte. Meine erste Idee war, ein ItemsControl in ein Ressourcenwörterbuch zu stellen, aber die ItemsSource eines Kombinationsfelds erwartet IEnumerable, so dass es nicht funktionierte.
Hier ist, was ich in meinem Ressource Wörterbuch versucht haben und weder funktioniert
<ItemsControl x:Key="stateList">
<sys:String>AL</sys:String>
<sys:String>CA</sys:String>
<sys:String>CN</sys:String>
</ItemsControl>
<ItemsControl x:Key="stateList2">
<ComboBoxItem>AL</ComboBoxItem>
<ComboBoxItem>CA</ComboBoxItem>
<ComboBoxItem>CN</ComboBoxItem>
</ItemsControl>
und hier ist, wie ich es binden
<ComboBox SelectedValue="{Binding Path=State}" ItemsSource="{Binding Source={StaticResource stateList2}}" >
</ComboBox>
EDIT: AKTUALISIERT
ich diese bekam erster Teil, um so zu arbeiten
<col:ArrayList x:Key="stateList3">
<sys:String>AL</sys:String>
<sys:String>CA</sys:String>
<sys:String>CN</sys:String>
</col:ArrayList>
Allerdings würde ich lieber keine Array-Liste verwenden, ich würde gerne eine generische Liste verwenden, wenn jemand weiß, wie bitte lass es mich wissen.
EDIT UPDATE: Ich denke, XAML für Generika so vielleicht eine Array-Liste sehr begrenzte Unterstützung hat, ist das Beste, was ich jetzt tun kann, aber ich würde immer noch Hilfe gerne auf die zweite Frage, ob jemand eine Anser
2. hat . Ich habe versucht, ein verschmolzenes Ressourcenwörterbuch in meinem XAML zu referenzieren und hatte Probleme, weil ich unter Window.resources mehr als nur das Wörterbuch hatte, also erforderte ich, dass x: Key hinzugefügt wurde. Sobald ich den Schlüssel hinzugefügt habe, kann das System die Elemente in meinem Ressourcenwörterbuch nicht mehr finden. Ich musste stattdessen das zusammengeführte Wörterbuch zu Grid.Resources verschieben. Idealerweise möchte ich auf das zusammengeführte Wörterbuch in der app.xaml verweisen, aber ich habe das gleiche Problem
Hier ist ein Beispielcode. Dieser erste Teil erforderlich, um eine x: Schlüssel zu kompilieren, weil ich Wandler haben und sie beschwerten sich, dass jedes Element einen Schlüssel haben müssen, wenn es mehr als einen
<UserControl.Resources>
<win:BooleanToVisibilityConverter x:Key="VisibilityConverter" />
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/ResourcesD.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
Ich hatte es zu diesem
<UI:BaseStep.Resources>
<win:BooleanToVisibilityConverter x:Key="VisibilityConverter" />
</UI:BaseStep.Resources>
<Grid>
<Grid.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/ResourcesD.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Grid.Resources>
</Grid>
zu ändern
Vielen Dank
Das ist ein interessanter Ansatz, in meinem Fall muss es nicht wirklich beobachtbar sein, aber ich nehme an, es würde in meinem Fall funktionieren.Eine Idee zur Lösung des anderen Problems der Bereitstellung eines Ressourcenschlüssels und Wenn die Auflösung fehlschlägt –
OK, ich habe eine Antwort für Ihre zweite Frage hinzugefügt: Ist das, was Sie suchen? – mg007
oops! Ich denke meine zweite Antwort ist ähnlich der von @Abe – mg007