2013-11-14 109 views
0

我有一个telerik控件RadTileView的模板选择器。没有错误,并且一切正常“正常”,但模板选择器SelectTemplate()永远不会被调用,所以程序不会在我的两个数据模板之间进行选择。有任何想法吗?我不知道如何调试。谢谢。DataTemplateSelector没有被调用

我的数据模板定义和模板选择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}"/> 

回答

1

从备注部分中ItemTemplateSelector

请注意,如果设置ItemTemplate,则忽略此属性。

简单的解决办法:不要设置ItemTemplate属性。

+0

非常感谢!我不知道(虽然当然后面是有道理的)。 –

相关问题