我有一个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}}" ...
如果我删除此作业,则一切正常。
有人可以帮我理解为什么以及如何解决这个问题?
谢谢!
答案 0 :(得分:0)
你试过吗
... ItemsSource="{StaticResource FollowUpStatusProvider}"