1

当 RadTreeView 中的 ItemsOptionListType="CheckList" 时,有没有办法改变复选框的样式?

4

1 回答 1

3

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

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

要使用该模板,请将 aControlTemplate和 a添加Style<UserControl.Resources>XAML 页面的元素中,如下所示:

<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。

请注意,我们必须使用隐式样式(即没有 的样式x:Key),因为似乎没有其他方法可以告诉RadTreeViewa 将给定样式应用于其子项。


或者,您可以修改内置主题。这种方法还可以更改应用程序中其他 Telerik 控件中使用的 CheckBoxes 的样式,例如在 RadGridView 内的 GridViewCheckBoxColumn 中。


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

于 2012-01-26T21:32:10.957 回答