gpt4 book ai didi

c# - 更新绑定(bind)到自定义类属性的组合框条目的最佳方法

转载 作者:行者123 更新时间:2023-11-30 23:14:55 25 4
gpt4 key购买 nike

我有一个绑定(bind)到 List 属性的组合框。

<ComboBox ItemsSource="{Binding Path=DataSeriesComboBoxProperty}"  .. >
private List<String> _dataSeriesEntries;
public List<String> DataSeriesComboBoxProperty
{
get { return _dataSeriesEntries; }
set
{
_dataSeriesEntries = value;
OnPropertyChanged("DataSeriesComboBoxProperty");
}
}

该属性是一个列表,其中每个条目都是来自自定义类的名称属性。

DataSeriesComboBoxProperty = DataSeriesList.ConvertAll<string>(x => x.Name);

public List<DataSeriesDowngraded> DataSeriesList { get; set; }

现在我想,一旦在 DataSeriesList 中添加了一个条目,它也会在组合框中可见。执行此操作的最佳方法是什么?

最佳答案

您不需要 List<DataSeriesComboBoxProperty> , 删除即可。

更改您的 List<DataSeriesDowngraded>ObservableCollection<DataSeriesDowngraded> , 包括一个支持字段和 OnPropertyChanged .

应该是这样的

private ObservableCollection<DataSeriesDowngraded> _dataSeries;
public ObservableCollection<DataSeriesDowngraded> DataSeries
{
get { return _dataSeriesEntries; }
set
{
_dataSeries = value;
OnPropertyChanged("DataSeries");
}
}

在你的 xaml 中改变你的 ItemsSource ComboBox 的绑定(bind)至 ItemsSource="{Binding DataSeries}"并添加 DisplayMemberPath="Name" .

ObservableCollection将在添加或删除项目时更新您的 UI。 List惯于。这就是为什么你应该总是使用 ObservableCollection将集合绑定(bind)到您的 UI 时。而且您不需要包含名称的第二个列表,因为您可以说女巫属性应该显示在您的 ComboBox 中。 .

关于c# - 更新绑定(bind)到自定义类属性的组合框条目的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42858668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com