如何在单个模板中绑定多个ListView?

时间:2011-11-02 08:29:08

标签: wpf mvvm controltemplate

我有一个用于3个ListView的ControlTemplate。 我在ListView上使用模板,例如

Template="{StaticResource listViewTemplate}"

当我尝试将Collection绑定到列表视图ItemsSource时,没有任何事情发生。 如果我绑定ControlTemplate的Collection ItemsSource,它可以正常工作。

问题是我有3个ListViews使用这个ControlTemplate,我想将3个不同的集合绑定到ListViews。

这可能吗?

2 个答案:

答案 0 :(得分:1)

您的控件模板需要使用TemplateBinding绑定其ItemsSource,例如

<ControlTemplate ...>
    <ItemsSource = "{templateBinding ItemsSource}"

这将使您能够在列表视图ItemSource上绑定一个集合(这将传递给ControlTemplates ItemsSource)

答案 1 :(得分:0)

x:Shared="False"添加到静态资源。这将确保每次请求资源时都会生成对象的浅表副本。

这样,每个ListView都将获得控件模板的不同实例。

以下是相关文档:http://msdn.microsoft.com/en-us/library/aa970778.aspx