没有代码隐藏的 DataTemplateSelector
DataTemplateSelector without code-behind
是否可以仅以 XAML 的方式使用 DataTemplateSelector
,即没有代码隐藏?
你不能定义 XAML 中的实际 DataTemplateSelector class 如果这就是你要问的。
使用 C# 或任何您喜欢的编程语言定义 DataTemplateSelector class 后,您可以在 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 上的文档:https://msdn.microsoft.com/en-us/library/system.windows.controls.datatemplateselector(v=vs.110).aspx
是否可以仅以 XAML 的方式使用 DataTemplateSelector
,即没有代码隐藏?
你不能定义 XAML 中的实际 DataTemplateSelector class 如果这就是你要问的。
使用 C# 或任何您喜欢的编程语言定义 DataTemplateSelector class 后,您可以在 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 上的文档:https://msdn.microsoft.com/en-us/library/system.windows.controls.datatemplateselector(v=vs.110).aspx