Поле со списком WPF XAML синхронизировано с фактическим значением при обновлении ItemsSource - PullRequest
0 голосов
/ 27 ноября 2018

У меня проблема с синхронизацией моего выпадающего списка с фактическим выбранным значением.У меня есть сетка данных, которая связывает выбранные значения строки с объектом.Выбранный объект имеет код свойства со значением «test2».

Мой комбинированный список имеет опцию «test1» и «test2» и «test3»

Когда я выбираю этот объект, обновляется комбинированный списокс правильным значением «test2», но при обновлении ItemsSource он автоматически устанавливает первую альтернативу в выпадающем списке из-за моего использования isSynchronizedWithCurrentItem = true.Мое приложение опрашивает новые элементы каждые 10 секунд и обновляет / обновляет источник элементов, поэтому мой вопрос заключается в том, как я могу синхронизировать комбинированный список с фактически выбранной альтернативой / элементом комбинированного списка?

Как если бы я выбрал «test3» иПри обновлении источника данных в поле со списком все равно будет отображаться «test3», а не «test1» в качестве первого значения по умолчанию.Или, скорее, если бы я не выбрал другое значение, оно все равно останется неизменным с текущим значением из выбранного объекта «test»?

Вот мой код XAML: объект, с которым я связан, является публичнымUserObject Object.

<TextBlock Grid.Column="1" Grid.Row="0" Text="Name:" VerticalAlignment="Center"  />
<telerik:RadComboBox Grid.Column="2" Grid.Row="0" Text="{Binding Object.Code, Mode=TwoWay}" Margin="4 4 0 4" FontSize="13" IsReadOnly="True" ItemsSource="{Binding Objects}" 
     DisplayMemberPath="Code" SelectedValue = "{Binding Object.Code}"  SelectedValuePath="Code" 
     SelectedItem="{Binding SelectedCode}" IsSynchronizedWithCurrentItem="True"  />

Как я могу это исправить?

1 Ответ

0 голосов
/ 27 ноября 2018

Вы можете попробовать это:

private void RefreshFunc()
    {
        string objectCode = Object.Code;

        //update/refresh the itemssource
        ToRefreshItemsSource();

        Object.Code = objectCode;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...