2013-07-11 33 views
1

該應用程序基於使用Prism和MEF的MVVM。 我已將Windows樹視圖控件轉換爲Telerik RadTreeview控件。除了定義的ItemContainerStyle以某種方式禁用要顯示的樹之外,一切正常。如果我從Radtreeview中移除ItemContainerStyle,樹就會變得可見,但是沒有樣式。 通過使用相同的ItemcontainerStyle窗口樹視圖工作正常。 以下是代碼。未回答ItemContainerStyle導致Telerik radTreeview消失。 (WPF)

<uxc:UxtWindow.Resources> 
<HierarchicalDataTemplate x:Key="SiteWizardTemplate" ItemsSource="{Binding Steps}" > 
      <StackPanel Orientation="Horizontal"> 
       <TextBlock Text="{Binding DisplayAs}" /> 
      </StackPanel> 
     </HierarchicalDataTemplate> 
    </uxc:UxtWindow.Resources> 

<telerik:RadTreeView IsVirtualizing="True" ItemsSource="{Binding Wizard.WizardSections}" 
          ItemTemplate="{StaticResource SiteWizardTemplate}"           
           PreviewMouseDown="TreeView_PreviewMouseDown" > 
           <telerik:RadTreeView.ItemContainerStyle> 
           <Style TargetType="{x:Type telerik:RadTreeViewItem}"> 
            <Setter Property="FontSize" Value="18" /> 
            <Setter Property="FontStyle" Value="Italic" /> 
            <Setter Property="Margin" Value="0,5,0,10" /> 
            <Setter Property="Foreground" Value="Black" /> 
        </telerik:RadTreeView.ItemContainerStyle> 

</telerik:RadTreeView> 

回答

1

我認爲你必須在現有的樣式與BasedOn屬性擴展而不是僅僅將其覆蓋:

<Style TargetType="{x:Type telerik:RadTreeViewItem}" BasedOn="{StaticResource {x:Type telerik:RadTreeViewItem}}"> 

哦,刪除您ItemTemplate:不能同時設置ItemTemplateItemContainerStyle

+0

謝謝,它的工作。 – JQureshi

+0

哇,只是浪費了幾個小時來解決這個問題...所有Telerik如何不使用BasedOn,但絕對有必要使用它與他們的新明確主題...非常感謝。 –