WPF刷新StaticResource

Dav*_*ard 4 data-binding wpf resources

我有一个ComboBox,它的ItemsSource绑定为

ItemsSource="{Binding Source={StaticResource documentTemplates}}"
Run Code Online (Sandbox Code Playgroud)

documentTemplates的位置

<ObjectDataProvider x:Key="documentTemplates"
                    ObjectType="{x:Type Core:DataHelper}"
                    MethodName="GetDocumentTemplates"/>
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是数据库中定义的文档模板可能会被应用程序的其他区域(或者实际上是另一个用户)更改,因此我希望每次都有ItemsSource重新查询.目前,一旦资源被填充,它将永远不会重新查询.我假设这是因为它是一个StaticResource,但如果我将它交换为DynamicResource,我得到

无法在"绑定"类型的"Source"属性上设置"DynamicResourceExtension".'DynamicResrouceExtension'只能在DependencyProperty或DependencyObject上设置

我该怎么办呢?

Wal*_*mer 11

按原样保留XAML,每当需要重新查询时,请调用ObjectDataProvider上的Refresh.

(FindResource("documentTemplates") as ObjectDataProvider).Refresh();
Run Code Online (Sandbox Code Playgroud)