【发布时间】:2014-12-29 08:02:34
【问题描述】:
我想将 ListView 绑定到字符串的 ObservableCollection,我想使用来自两个可视控件的数据(例如,这些字符串的前缀和后缀)进行修改。
一个简化的例子:
XAML:
<TextBox Name="tbPrefix"/>
<TextBox Name="tbPostfix"/>
<ListView Name="lvTarget"/>
C#:
public ObservableCollection<string> sources = GetFromSomewhere();
public IEnumerable<string> Items()
{
foreach (var source in sources)
{
yield return tbPrefix.Text + source + tbPostfix.Text;
}
}
为了让 ListView 保持更新,我目前只是在 CollectionChanged 事件上重置其 ItemsSource:
void sources_CollectionChanged(...)
{
lvTarget.ItemsSource = Items();
}
但我还希望 ListView 绑定到其三个来源中的任何中的更改:集合和前缀/后缀控件。我想我想要一个 MultiBinding 或 MultiDataTrigger,但我不能完全理解语法和我能找到的所有示例将控件绑定到其他控件,同时我也有那个 ObservableCollection 作为来源。
附:对不起,如果它简单明了,这只是我使用 WPF 的第三天,我有点不知所措!谢谢!
【问题讨论】:
标签: c# wpf xaml listview data-binding