WPF - 帮助UserControl中的DataGrid的ComboBox列

时间:2009-10-13 16:53:19

标签: wpf datagrid wpftoolkit datagridcomboboxcolumn

我有一个MainWindow.xaml(由一个TabControl组成)和一些UserControls(它们被加载到TabItems中)。 一个特定的UserControl有一个带有自定义列的WPFToolkit DataGrid(不是自动生成的)。其中一列是ComboBox类型的列,它绑定到我的模型中名为“Status”的属性。我还有一个名为“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}}" ...

如果我删除此作业,则一切正常。

有人可以帮我理解为什么以及如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

你试过吗

... ItemsSource="{StaticResource FollowUpStatusProvider}"