未回答ItemContainerStyle导致Telerik radTreeview消失。 (WPF)

时间:2013-07-11 16:04:06

标签: wpf telerik

该应用程序基于使用Prism和MEF的MVVM。 我已将Windows树视图控件转换为Telerik RadTreeview控件。一切正常,但定义的ItemContainerStyle以某种方式禁用了要显示的树。如果我从Radtreeview中删除ItemContainerStyle,树变得可见,但没有样式。  通过使用相同的ItemcontainerStyle的windows treeview工作正常。 以下是代码。

    <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 个答案:

答案 0 :(得分:1)

我认为您必须使用BasedOn属性扩展现有样式,而不是仅覆盖它:

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

哦,删除你的ItemTemplate:你不能同时设置ItemTemplateItemContainerStyle