有没有办法获取DataTemplate的实际DataItem。更具体地说,我有一个自定义按钮,我在datatemplate中使用:
<DataTemplate x:Key="SampleDataTemplate1">
<custom:SampleButton />
</DataTemplate>
我在listview中使用它来绑定到一个集合。我想传递一个对绑定的实际DataItem的引用。像这样:
<DataTemplate x:Key="SampleDataTemplate1">
<custom:SampleButton BoundItem="{Binding DataItem}" />
</DataTemplate>
这可能吗?如何实现这一目标?
答案 0 :(得分:4)
您可以绑定到数据模板中使用的数据。这是一个例子:
<DataTemplate x:Key="SampleDataTemplate1">
<custom:SampleButton BoundItem="{Binding}" />
</DataTemplate>
此处有更多详细信息(请参阅指定值的路径部分):
http://msdn.microsoft.com/en-us/library/ms752347.aspx#creating_a_binding
我们的想法是,在数据模板中,DataContext中的所有元素都引用数据模板绑定到的项目。而没有Path的{Binding}构造只是绑定到DataContext。