WPF Refresh StaticResource - PullRequest
       2

WPF Refresh StaticResource

4 голосов
/ 14 декабря 2010

У меня есть ComboBox, который имеет свой ItemsSource, связанный как

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

Где documentTemplates

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

У меня проблема в том, что шаблоны документов, определенные в базе данных, могут быть измененыдругими областями приложения (или даже другим пользователем), и поэтому я хочу каждый раз получать запрос ItemsSource.На данный момент, когда ресурс заполнен, он никогда не будет запрашивать.Я предполагаю, что это потому, что это StaticResource, но если я поменяю его на DynamicResource, я получу

. «DynamicResourceExtension» нельзя установить в свойстве «Source» типа «Binding».«DynamicResrouceExtension» можно установить только для DependencyProperty или DependencyObject

Как мне исправить это?

1 Ответ

11 голосов
/ 14 декабря 2010

Сохраните свой XAML как есть, и всякий раз, когда требуется запрос, вызовите Обновить на ObjectDataProvider.

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