2010-12-14 160 views
4

我有了它的ItemsSource綁定爲WPF刷新靜態資源

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

哪裏documentTemplates是

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

我的問題是,在數據庫中定義的文檔模板可以通過改變組合框應用程序的其他區域(或者其他用戶),所以我希望每次都有ItemsSource重新查詢。目前,一旦資源被填充,它將永遠不會被重新查詢。我假設這是因爲它是一個StaticResource,但是如果我將它換成DynamicResource,我得到

無法在'Binding'類型的'Source'屬性上設置'DynamicResourceExtension'。 'DynamicResrouceExtension'只能在DependencyProperty或DependencyObject上設置

我應該如何解決這個問題?

回答

11

保持您的XAML不變,每當需要重新查詢時,請在ObjectDataProvider上調用Refresh

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