1

我正在尝试将 ComboBox 控件绑定到从自定义对象列表中提取的字符串列表。

这是我正在使用的对象:

public class Operation
{
    public DateTime ValueDate { get; set; }
    public int Amount { get; set; }
    public string Category { get; set; }
}

我要做的是将用于输入新操作类别的组合框绑定到操作列表中已经存在的不同类别列表。

例子 :

操作清单:

{04/12/2010, 100, "Home"}
{05/12/2010, 100, "Home"}
{05/12/2010, 200, "Entertainment"}

在组合框的自动完成列表中可用:“家庭”、“娱乐”。

目前,我可以获得列表中现有可用类别的静态列表,但是当我向现有列表添加新操作时,我无法更新列表。

4

2 回答 2

1

您将需要取消绑定并重新绑定您的列表以进行刷新。

于 2010-11-26T15:56:35.253 回答
0

你可以这样做:

_combo.ItemsSource = _operationsCollection;
_combo.DisplayMemberPath = "Category";
_combo.Items.Filter = Filter;

private bool Filter(object operationObj)
{
    var operation = (Operation)operationObj;
    var first = _operationsCollection.First(p => p.Category == operation.Category);
    return ReferenceEquals(operation, first);
}
于 2010-11-26T17:12:51.990 回答