J'ai un ListBox contenant CheckBoxes. XAML ressemble à ceci:WPF: Comment lier des objets différents?
<ListBox x:Name="lbContactTypes">
<ListBox.ItemTemplate>
<HierarchicalDataTemplate>
<CheckBox Content="{Binding Path=Description}" IsChecked="{Binding Path=ContactTypes, Converter={x:Static Classes:ListContainsConverter.Instance}, ConverterParameter=1}" />
</HierarchicalDataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Je lie ItemsSource dans mon code comme ceci:
lbContactTypes.ItemsSource = GetLeadContactTypes();
Jusqu'à présent, si bon. Trois cases à cocher sont générées avec un contenu correct. Maintenant, je voudrais définir la propriété IsChecked à un autre objet qui contient les données actuelles pour l'entité avec laquelle je travaille. Pour clarifier un peu, j'ai défini DataContext de la fenêtre à l'objet Customer qui contient entre autres ObservableCollection de ContactTypes et je voudrais lier ces ContactTypes à la propriété IsChecked afin que les cases à cocher soient vérifiées. Je vérifie si le ObservableCollection contient l'entier désiré en appelant le convertisseur de ListContainsConverter qui retourne bool. Est-ce possible?