Obtenir les données de ObjectDataProvider lorsque la boîte à options s'ouvre
-
06-07-2019 - |
Question
Comment puis-je obtenir qu'un objet ObjectDataProvider soit déclenché chaque fois qu'une zone de liste déroulante est développée au lieu d'une seule fois?
<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>
La solution
Avec ObjectDataProvider get trigger, voulez-vous créer un nouvel objet UserInterfaceHelper?
Dans ce cas, reliez l'événement DropDownOpened de la liste déroulante à la méthode suivante.
private void ComboBox_DropDownOpened(object sender, EventArgs e)
{
ObjectDataProvider odp = Resources["possibleExpressionValues"] as ObjectDataProvider;
odp.ObjectType = null;
odp.ObjectInstance = new UserInterfaceHelper();
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow