我在ListView
中定义了DataTemplate
Resources
。我想将GridViewColumn
的内容转发给DataTemplate
,以便DataTemplate
可以重复用于多个GridViewColumns
。我有一个名为Property1
的属性,我希望将其绑定到GridViewColumn
,然后将其转发到DataTemplate
,它将显示在TextBlock
中。但是,GridViewColumn
没有任何我可以绑定它的Content
属性。
这是一个精简代码:
<ListView>
<ListView.Resources>
<DataTemplate x:Key="PropertyTemplate>
<TextBlock Text"{Binding}" />
<DataTemplate>
</ListView.Resources>
<ListView.View>
<GridView>
<!-- No Content property in GridViewColumn -->
<GridViewColumn CellTemplate="{StaticResource PropertyTemplate}" Content={Binding Property1} />
<GridView>
</ListView.View>
</ListView>
如何将绑定属性从GridViewColumn转发到GridViewColumn的DataTemplate?
答案 0 :(得分:0)
<强>更新强>
这应该有效:
<ListView ItemsSource="{Binding Items}">
<ListView.Resources>
<DataTemplate x:Key="PropertyTemplate">
<TextBlock Text="{Binding Property1}" />
</DataTemplate>
</ListView.Resources>
<ListView.View>
<GridView>
<GridViewColumn CellTemplate="{StaticResource PropertyTemplate}" />
</GridView>
</ListView.View>
</ListView>
以前的答案(不起作用): 使用DisplayMemberBinding属性。您可能还想为列设置标题文本:
<GridView>
<GridViewColumn CellTemplate="{StaticResource PropertyTemplate}" DisplayMemberBinding={Binding Property1} Header="Some column"/>
</GridView>
您还需要在ListView上设置ItemsSource。