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

ItemsSource="{Binding Source={StaticResource documentTemplates}}"

documentTemplates 在哪里
<ObjectDataProvider x:Key="documentTemplates"
                    ObjectType="{x:Type Core:DataHelper}"
                    MethodName="GetDocumentTemplates"/>

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



我应该如何解决这个问题?

最佳答案

保持您的 XAML 原样,并且在需要重新查询时调用 ObjectDataProvider 上的 Refresh

(FindResource("documentTemplates") as ObjectDataProvider).Refresh();

关于WPF 刷新静态资源,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4438876/

10-13 00:01