J'ai une MainWindow.xaml (qui consiste en un TabControl) et quelques UserControls (qui sont chargés dans les TabItems). Un UserControl particulier a un DataGrid WPFToolkit avec des colonnes personnalisées (non générées automatiquement). L'une de ces colonnes est une colonne de type ComboBox qui se lie à une propriété de mon modèle appelée "Status". J'ai aussi un Enum for Status appelé "FollowUpStatus". Cette colonne ComboBox est déclarée comme suit:WPF - Aide sur la colonne ComboBox de DataGrid dans UserControl
<WpfTK:DataGridComboBoxColumn
Header="Status"
SelectedItemBinding="{Binding Status}"
ItemsSource="{Binding Source={StaticResource FollowUpStatusProvider}}" />
Le FollowUpStatusProvider est un ObjectDataProvider déclaré comme suit au niveau des ressources d'application - visible à la fois MainWindow et tous UserControls:
<ObjectDataProvider x:Key="FollowUpStatusProvider"
MethodName="GetValues" ObjectType="{x:Type DAL:FollowUpStatus}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="DAL:FollowUpStatus"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
Tout fonctionne très bien à l'exécution -temps. Au moment du design, à partir de MyUserControl.xaml, le concepteur le rend correct. Mais mon MainWindow se plaint qu'il ne peut pas "créer une instance de type 'MyUserControl'". Le code qui est à l'origine MainWindow à étouffer est l'affectation à ItemsSource dans la colonne ComboBox:
... ItemsSource="{Binding Source={StaticResource FollowUpStatusProvider}}" ...
Si je supprime cette tâche, tout fonctionne comme prévu. Est-ce que quelqu'un peut m'aider à comprendre pourquoi et comment résoudre ce problème?
Merci!
Vous ne pouvez pas lier à un ObjectDataProvider en utilisant cette syntaxe. –