2009-10-13 13 views
1

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!

Répondre

0

Avez-vous essayé

... ItemsSource="{StaticResource FollowUpStatusProvider}" 
+0

Vous ne pouvez pas lier à un ObjectDataProvider en utilisant cette syntaxe. –