XAML:相同的模板,不同的绑定

时间:2013-08-14 13:35:13

标签: c# wpf xaml binding datatemplate

我正在尝试使用ListView创建一个GridView,其中包含2列:名称和日期,稍后将绑定到人Object

我想使用DataTemplate,此模板包含Label

我的问题是我想对两个列使用此模板,但标签的内容将绑定到每列中的不同属性。简而言之,我希望能够在GridViewColumn代码块中而不是在DataTemplate代码块中绑定标签的内容。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我尝试了这种方式,在datatemplate中使用空绑定,在我的情况下解决了..(没有检查具有多个要绑定的属性的对象类型)。这将适用于这个问题的背景。

<DataTemplate x:Key="commonTemplate">
    <Label Content="{Binding}" />
</DataTemplate>

<GridViewColumn>
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <ContentPresenter Content="{Binding Name}"
                ContentTemplate="{StaticResource commonTemplate}"/>
        </DataTemplate>
    </GridViewColumn.CellTemplate>
</GridViewColumn>

<GridViewColumn>
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <ContentPresenter Content="{Binding Date}"
                ContentTemplate="{StaticResource commonTemplate}"/>
        </DataTemplate>
    </GridViewColumn.CellTemplate>
</GridViewColumn>

总是欢迎任何更好的方式或改进..谢谢