Wpf 无代码隐藏的DataTemplateSelector

Wpf 无代码隐藏的DataTemplateSelector,wpf,xaml,datatemplateselector,Wpf,Xaml,Datatemplateselector,是否可以仅以XAML的方式使用DataTemplateSelector,即不使用代码隐藏?如果需要,您不能在XAML中定义实际的DataTemplateSelector类 使用C或任何您首选的编程语言定义DataTemplateSelector类后,您可以在XAML标记中使用它: <Window ... xmlns:local="clr-namespace:SDKSample"> <Window.Resources> <local:TaskL

是否可以仅以XAML的方式使用DataTemplateSelector,即不使用代码隐藏?

如果需要,您不能在XAML中定义实际的DataTemplateSelector类

使用C或任何您首选的编程语言定义DataTemplateSelector类后,您可以在XAML标记中使用它:

<Window ... xmlns:local="clr-namespace:SDKSample">
    <Window.Resources>
        <local:TaskListDataTemplateSelector x:Key="myDataTemplateSelector"/>
    </Window.Resources>
    <Grid>
        <ListBox Width="400" Margin="10"
         ItemsSource="{Binding Source={StaticResource myTodoList}}"
         ItemTemplateSelector="{StaticResource myDataTemplateSelector}"
         HorizontalContentAlignment="Stretch"/>
        ...

有关更多信息和完整示例,请参阅MSDN文档:

Yep。这就是我要问的。我想我们可能在框架中有一些具体的选择器类,可以在xaml中实例化,而无需在代码隐藏中编写选择器类。只有DataTemplateSelector类,但当然这个类不包含选择正确DataTemplate的任何自定义逻辑,因此使用它没有任何意义。这意味着您必须创建从内置DataTemplateSelector派生的自定义类。你不能在XAML中定义一个类,我希望有一个具体的DataTemplateSelector,我可以在XAML中编写模板选择逻辑。很像我们使用DataTriggers和MultiTriggers在XAML中编写逻辑。好的,但是没有这样的类可用。你必须自己创造一个。我想这回答了你的问题。