2009-06-17 4 views
0

콤보 상자가 한 번만 확장되지 않고 확장 될 때마다 ObjectDataProvider가 트리거되도록하려면 어떻게해야합니까? ObjectDataProvider와콤보 상자가 열릴 때 ObjectDataProvider에서 데이터 가져 오기

<UserControl.Resources> 
    <ObjectDataProvider x:Key="possibleExpressionValues" 
       MethodName="GetWatchVariableNames" 
       ObjectType="{x:Type mu:UserInterfaceHelper}" IsInitialLoadEnabled="False"> 
    </ObjectDataProvider> 
</UserControl.Resources> 

<Grid> 
    <ComboBox IsEditable="True" Text="{Binding ID}" ItemsSource="{Binding Source={StaticResource possibleExpressionValues}}" VerticalAlignment="Top" /> 
</Grid> 

답변

1

가 트리거 얻을, 당신은 당신이 신선한 UserInterfaceHelper 오브젝트가 작성하려는 의미합니까?

그럴 경우 콤보 상자의 DropDownOpened 이벤트를 다음 방법에 연결하십시오.

private void ComboBox_DropDownOpened(object sender, EventArgs e) 
{ 
    ObjectDataProvider odp = Resources["possibleExpressionValues"] as ObjectDataProvider; 
    odp.ObjectType = null; 
    odp.ObjectInstance = new UserInterfaceHelper(); 
} 
+0

UserInterfaceHelper는 정적이므로 제안한 이벤트를 기반으로 드롭 다운을 새로 고침했습니다. XAML로이 작업을 수행 할 수있는 방법이 있습니까? –

관련 문제