我有一个用于远程控制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}"/>发布于 2013-11-14 19:14:38
来自ItemTemplateSelector中的备注部分
注意,如果设置了ItemTemplate,则忽略此属性。
简单解决方案:不要设置ItemTemplate属性。
https://stackoverflow.com/questions/19985896
复制相似问题