Получить данные из 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 ответ
Решение
С ObjectDataProvider запускается, вы имеете в виду, что вы хотите, чтобы новый объект UserInterfaceHelper был создан?
В этом случае подключите событие DropDownOpened выпадающего списка к следующему методу.
private void ComboBox_DropDownOpened(object sender, EventArgs e)
{
ObjectDataProvider odp = Resources["possibleExpressionValues"] as ObjectDataProvider;
odp.ObjectType = null;
odp.ObjectInstance = new UserInterfaceHelper();
}