我有一个 Telerik 控件 RadTileView 的模板选择器。没有错误,一切正常,但模板选择器 SelectTemplate() 永远不会被调用,因此程序不会在我的 2 个数据模板之间进行选择。有任何想法吗?我根本不知道如何调试这个。谢谢你。
我的数据模板定义和模板选择器 xaml 代码:
<DataTemplate x:Key="IncidentContentTemplate">code...</DataTemplate>
<templateselectors:TCardTileViewTemplateSelector x:Key="TCardTemplateSelector" DefaultTCardViewModelTemplate="{StaticResource contentTemplate}" IncidentTCardViewModelTemplate="{StaticResource IncidentContentTemplate}" />
</UserControl.Resources>
我的模板选择器:
public class TCardTileViewTemplateSelector : DataTemplateSelector
{
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
if (item is IncidentTCard)
{
return this.IncidentTCardViewModelTemplate;
}
else
{
return this.DefaultTCardViewModelTemplate;
}
}
public DataTemplate IncidentTCardViewModelTemplate
{
get;
set;
}
public DataTemplate DefaultTCardViewModelTemplate
{
get;
set;
}
}
我的 RadTileView:
<telerik:RadTileView Name="MainRadTileView"
ContentTemplate="{StaticResource contentTemplate}"
IsItemDraggingEnabled="{Binding ElementName=IsItemDraggingEnabledOption,Path=IsChecked}"
ItemsSource="{Binding Items}"
ItemTemplate="{StaticResource headerTemplate}"
ItemTemplateSelector="{StaticResource TCardTemplateSelector}"
MaximizeMode="{Binding ElementName=MaximizeModeOption,Path=SelectedItem}"
PreservePositionWhenMaximized="{Binding ElementName=PreservePositionWhenMaximizedOption,Path=IsChecked}"
TileStateChanged="tileView1_TileStateChanged"
TileStateChangeTrigger="{Binding ElementName=StateChangeOption, Path=SelectedItem}"/>