我有一个ListView
的自定义控件模板,为每条记录添加一条额外的行,这些在Window.Resources中定义了类似的内容......
<ControlTemplate TargetType="ListBoxItem">
<Border>
<StackPanel>
<GridViewRowPresenter>
<TextBlock Name="myTextBlock" />
</StackPanel>
</Border>
<ControlTemplate.Triggers>
//Triggers here
</ControlTemplate.Triggers>
</ControlTemplate>
我的问题是,我想将TextBlock
中的文本绑定到不同的 ItemsSource
,而不是绑定到实际ListBox
的文本当它实例化时。以编程方式绑定是不可能的。我已经尝试用TextBlock
代替另一个ListView
并绑定到一个方法,但我无法弄清楚如何使用ObjectDataProvider
并绑定到我后面的代码中的方法(其中包含一个方法,它会返回我想要绑定的东西列表),但也遇到了问题。
如果我不清楚,请快速一步一步:
我有一个ListView
模板,可为每条记录添加额外的行
此ListView
将绑定(比方说)Foo对象的集合。
问题是我想将额外的行绑定到与主ListView
完全不同的itemsource。我似乎无法在我的模板中执行此操作:/
那么 - 有没有办法直接绑定到我后面的代码中定义的方法的结果,我可以在模板中引用它?
答案 0 :(得分:1)
好的,这就是想法:
1)使用这样的项目模板创建与Foo
绑定的列表框:
-------------
| DATA HERE |
| |
-------------
2)使用这样的项目模板创建与completely different itemsource
绑定的列表框:
-------------
| |
| DATA HERE |
-------------
3)在第二个列表框后面绘制第一个列表框。
如果项目数相同(这是我理解的情况),您将获得所需的视觉效果。 希望它有所帮助。
修改强>
此方法与您当前的模板不对应,但它是解决方案的变体。