2010-12-14 4 views
4

나는 ItemsSource가 documentTemplates 내가 가진 문제는 데이터베이스에 정의 된 문서 템플릿에 의해 변경 될 수 있다는 점이다WPF 새로 고침 정적 리소스

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

입니다

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

로 바운스가있는 콤보 상자를 응용 프로그램의 다른 영역 (또는 다른 사용자가 실제로)을 사용할 수 있으므로 매번 ItemsSource 쿼리를 사용하려고합니다. 현재 자원이 채워지면 결코 재 쿼리되지 않습니다. 나는 그것이 정적 리소스이기 때문에이 있다고 가정,하지만 난 DynamicResource이를 교환하면 나는 유형의 '소스'속성 '바인딩'을 설정할 수 없습니다

A 'DynamicResourceExtension'를 얻을. 'DynamicResrouceExtension'은 DependencyProperty 또는 DependencyObject에서만 설정할 수 있습니다.

이 문제를 해결하려면 어떻게해야합니까?

답변

11

XAML을 그대로 유지하고 쿼리가 필요할 때마다 ObjectDataProvider에서 Refresh을 호출하십시오.

(FindResource("documentTemplates") as ObjectDataProvider).Refresh(); 
관련 문제