C# 如何将CellTemplateSelector与GridView上的数据绑定一起使用?

C# 如何将CellTemplateSelector与GridView上的数据绑定一起使用?,c#,wpf,gridview,C#,Wpf,Gridview,我试图绑定到GridView的DataContext上的属性,并使用DataTemplateSelector将正确的模板分配给单元格,但我似乎找不到正确的方法。绑定到DisplayMemberBinding会覆盖模板选择器,但设置CellTemplateSelector属性会绑定到DataContext,而不是我要为其选择模板的属性 这个答案似乎准确地描述了我在寻找什么,但我很难找到关于如何实现它所描述的内容的信息: 这是我尝试使用的不适用于发布的内容: <ListView Ite

我试图绑定到GridView的DataContext上的属性,并使用DataTemplateSelector将正确的模板分配给单元格,但我似乎找不到正确的方法。绑定到DisplayMemberBinding会覆盖模板选择器,但设置CellTemplateSelector属性会绑定到DataContext,而不是我要为其选择模板的属性

这个答案似乎准确地描述了我在寻找什么,但我很难找到关于如何实现它所描述的内容的信息:

这是我尝试使用的不适用于发布的内容:

    <ListView ItemsSource="{Binding Items}">
        <ListView.View>
            <GridView>
                <GridViewColumn Header="Name"
                                DisplayMemberBinding="{Binding Name}"
                                CellTemplateSelector="{StaticResource ContentTypeTemplateSelector}" />
                <GridViewColumn Header="Data"
                                DisplayMemberBinding="{Binding}"
                                CellTemplateSelector="{StaticResource ContentTypeTemplateSelector}" />
            </GridView>
        </ListView.View>
    </ListView>

我建议您做的第一件事是从以下两种方式之一区分内容模板选择器。第一个是简单地拥有多个模板选择器类。第二个是有两个实例,它们的模板被分配不同的绑定

<Resources>
    <ns:TemplateSelector x:Key="NameTemplateSelector">
        <ns:TemplateSelector.Template1>
            <DataTemplate>
                <!-- Something bound to Name -->
            </DataTemplate>
        </ns:TemplateSelector.Template1>
    </ns:TemplateSelector>

    <ns:TemplateSelector x:Key="DataTemplateSelector">
        <ns:TemplateSelector.Template1>
            <DataTemplate>
                <!-- Something bound to Data -->
            </DataTemplate>
        </ns:TemplateSelector.Template1>
    </ns:TemplateSelector>
对附加属性的引用会让您创建一个属性,将其附加到模板选择器,然后从模板选择器的代码访问该数据