Источник обновления списка кнопок Fluent на разделенной ленте

Xaml:

<fluent:SplitButton Icon="24.png" ItemsSource="{Binding TestSource}">

ViewModel:

public ObservableCollection<List<TestModel>> TestSource { get; set; }

Метод обновления:

public void UpdateSource(ObservableCollection<List<TestModel>> newSource)
{
    TestSource = newSource;
    OnPropertyChanged("TestSource");
}

В первый раз он работает нормально, но при назначении свойства TestSource новому объекту список отображает старый список и не обновляется.


person IBRA    schedule 30.10.2017    source источник
comment
Включите минимально воспроизводимый пример.   -  person Manfred Radlwimmer    schedule 30.10.2017


Ответы (1)


У меня просто была похожая проблема, с тем же управлением сплит-кнопкой и всем остальным.

Во-первых, я рекомендую изменить объявление TestSource на:

public ObservableCollection<TestModel> TestSource { get; set; }

Далее не назначайте новый ObjectCollection на TestSource.

Вместо этого попробуйте следующее:

public void UpdateSource(ObservableCollection<TestModel> newSource)
{
    TestSource.Clear();
    TestSource.AddRange(newSource);
    OnPropertyChanged("TestSource");
}

Похоже, что изменения ObjectCollection запускаются только при манипулировании его методами, а не прямыми назначениями.

person Jonas    schedule 22.01.2018