Fluent功能区分割按钮列表更新项目源

时间:2017-10-30 11:28:56

标签: c# wpf xaml inotifypropertychanged fluent-ribbon

的Xaml:

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

视图模型:

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

更新方法:

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

第一次工作正常,但在将TestSource属性分配给新对象时,列表会显示旧列表,并且不会更新。

1 个答案:

答案 0 :(得分:0)

我在这里遇到了类似的问题,使用了相同的分割按钮控件。

首先,我建议将TestSource的声明更改为:

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

接下来,不要将新的ObjectCollection分配给TestSource

相反,试试这个:

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

似乎ObjectCollection更改仅在使用其方法操作时触发,而非直接赋值。