2013-11-14 111 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

非常感謝!我不知道(雖然當然後面是有道理的)。 –

相關問題