1

我有一个 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 和所有 UserControl 都可见:

<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}}" ...

如果我删除此分配,一切都会按预期工作。

有人可以帮我理解为什么以及如何解决它吗?

谢谢!

4

1 回答 1

0

你有没有尝试过

... ItemsSource="{StaticResource FollowUpStatusProvider}"
于 2009-10-14T13:56:28.730 回答