MainWindow.xaml (TabControl で構成される) といくつかの UserControls (TabItems に読み込まれる) があります。特定の UserControl には、カスタム列 (自動生成されない) を持つ WPFToolkit DataGrid があります。これらの列の 1 つは、"Status" というモデルのプロパティにバインドする ComboBox タイプの列です。「FollowUpStatus」と呼ばれるステータスの列挙型もあります。この ComboBox 列は次のように宣言されています。
<WpfTK:DataGridComboBoxColumn
Header="Status"
SelectedItemBinding="{Binding Status}"
ItemsSource="{Binding Source={StaticResource FollowUpStatusProvider}}" />
FollowUpStatusProvider は、アプリケーション リソース レベルで次のように宣言された ObjectDataProvider です。MainWindow とすべての UserControls の両方に表示されます。
<ObjectDataProvider x:Key="FollowUpStatusProvider"
MethodName="GetValues" ObjectType="{x:Type DAL:FollowUpStatus}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="DAL:FollowUpStatus"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
実行時にすべて正常に動作します。設計時に、MyUserControl.xaml から、デザイナーはそれを正常にレンダリングします。しかし、私の MainWindow は、「タイプ 'MyUserControl' のインスタンスを作成できません」と不平を言っています。MainWindow がチョークする原因となっているコードは、ComboBox 列の ItemsSource への割り当てです。
... ItemsSource="{Binding Source={StaticResource FollowUpStatusProvider}}" ...
この割り当てを削除すると、すべて期待どおりに機能します。
誰かがそれを修正する理由と方法を理解するのを手伝ってくれますか?
ありがとう!