自定义样式CheckList RadTreeView

时间:2012-01-23 17:51:35

标签: c# silverlight treeview telerik radtreeview

当ItemsOptionListType =“CheckList”时,有没有办法改变复选框的样式 在RadTreeView里面?

1 个答案:

答案 0 :(得分:3)

我可以想到有几种方法可以做到这一点,但遗憾的是,它们都不是特别容易。

一种方法是使用Blend或类似工具来获取RadTreeViewItem类的模板。 RadTreeViewItem类及其模板位于Telerik.Windows.Controls.Navigation程序集中。获取此模板的副本并修改此模板中的CheckBox以根据需要自定义其外观。

要使用该模板,请将ControlTemplateStyle添加到XAML页面的<UserControl.Resources>元素,如下所示:

<UserControl.Resources>
    <ControlTemplate x:Key="myRadTreeViewItemTemplate" TargetType="telerik:RadTreeViewItem">
        <!-- modified template goes here... -->
    </ControlTemplate>
    <Style TargetType="telerik:RadTreeViewItem">
        <Setter Property="Template" Value={StaticResource myRadTreeViewItemTemplate}" />
    </Style>
</UserControl.Resources>

然后,应将修改后的模板应用于同一XAML文件中的任何RadTreeView。

请注意,我们必须使用implicit style(即没有x:Key的一个),因为似乎没有其他方法可以告诉RadTreeView将给定的样式应用于其儿童用品。


或者,你可以modify a built-in theme。此方法还可以更改应用程序中其他Telerik控件中使用的CheckBox的样式,例如RadGridView中的GridViewCheckBoxColumn。


编辑:如果您希望默认情况下在RadTreeView中使用CheckBox的模板, 你可以在Telerik.Windows.Controls程序集中的Themes \ Office \ Black \ System.Windows.Controls.xaml中找到它。假设您使用的是“Office Black”主题;如果您使用的是其他Telerik主题,请调整此文件的路径。