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

本文关键字:绑定 XAML | 更新日期: 2023-09-27 18:27:35

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

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

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

提前感谢您的帮助。

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

我在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>

任何更好的方法或改进都是受欢迎的。。感谢