Je suis en train de retravailler mon simple éditeur hexadécimal pour m'entraîner à utiliser ce que j'ai appris récemment sur la liaison de données dans WPF. Je ne suis pas sûr de ce que je fais mal ici. Si je comprends bien, pour chaque octet de la collection "backend" (hérite de ObservableCollection), mon ItemsControl devrait appliquer le DataTemplate sous les ressources. Ce modèle est juste une zone de texte avec une liaison à un convertisseur de valeur. Je m'attends donc à voir une rangée de zones de texte contenant chacune une représentation sous forme de chaîne d'un octet. Quand j'utilise ce XAML, tout ce que je reçois est une seule ligne de texte non éditable, ce qui, pour autant que je sache, n'utilise pas de zone de texte. Qu'est-ce que je fais mal?Qu'est-ce que je fais de mal avec mes ItemsControl & databinding?
J'ai collé mon code XAML ci-dessous, avec les parties non pertinentes (déclaration de menu, schéma, etc.) supprimées.
<Window ...>
<Window.Resources>
<local:Backend x:Key="backend" />
<local:ByteConverter x:Key="byteConverter" />
<DataTemplate DataType="byte">
<TextBox Text="{Binding Converter={StaticResource byteConverter}}" />
</DataTemplate>
</Window.Resources>
<StackPanel>
<ItemsControl ItemsSource="{Binding Source={StaticResource backend}}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</StackPanel>
</Window>
Hm. J'ai fait les deux dès que j'ai lu votre réponse, mais ça ne marche toujours pas. – Joel
Votre version révisée fait l'affaire, merci. Le mieux que je puisse dire, la seule différence significative entre votre code et le mien est le chemin =. Je ne suis pas certain de ce que cela fait, une période est un peu difficile à google. Je ne savais pas non plus que la liaison bidirectionnelle ne fonctionne pas sans une classe d'emballage, ce qui aide beaucoup. – Joel