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

问题描述 投票:1回答:1

我正在尝试用ListView创建一个GridView,它有两列:Name和Date,后面将绑定到Person Object

我想使用DataTemplate,这个模板由Label组成。

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

在此先感谢您的帮助。

c# wpf xaml binding datatemplate
1个回答
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>

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

© www.soinside.com 2019 - 2024. All rights reserved.