当 RadTreeView 中的 ItemsOptionListType="CheckList" 时,有没有办法改变复选框的样式?
1 回答
我能想到有几种方法可以做到这一点,但遗憾的是它们都不是特别容易。
一种方法是使用 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
),因为似乎没有其他方法可以告诉RadTreeView
a 将给定样式应用于其子项。
或者,您可以修改内置主题。这种方法还可以更改应用程序中其他 Telerik 控件中使用的 CheckBoxes 的样式,例如在 RadGridView 内的 GridViewCheckBoxColumn 中。
编辑:如果您想要默认情况下在 RadTreeView 中使用的 CheckBox 模板,您可以在 Telerik.Windows.Controls 程序集中的 Themes\Office\Black\System.Windows.Controls.xaml 中找到它。这假设您使用的是“Office Black”主题;如果您使用不同的 Telerik 主题,请调整此文件的路径。