如何在包含绑定项目的列表框中添加固定值

时间:2012-07-02 15:33:36

标签: c# binding listbox

我有一个可枚举的数据集可变数据集。这些值是在用户运行时生成的。

这些值绑定到ListBox的ItemsSource

public IEnumerable<string> Items
{
  get { return list; } // list is here a dummy; it does not actually exists
}

listbox.SetBinding(ListBox.ItemsSourceProperty, new Binding { Source = Items });

现在我想在开头添加一个固定项目。但是例如lb.Items.Add("abc");将破坏运行时。插入方法也是如此。

// listbox.Items.Add("abc");
// listbox.Items.Insert(0, "abc");

如何在开头添加固定项目?

1 个答案:

答案 0 :(得分:1)

如果您绑定到Concat

,则可以使用IEnumerable<string>
listbox.SetBinding(ListBox.ItemsSourceProperty, 
  new Binding { Source = new[] { "abc" }.Concat(Items) }); 

同样,如果它是您要约束的List<string> - 请在构建之后使用Insert在头部添加固定项目。