当ItemsOptionListType=在RadTreeView中出现“CheckList”时,有没有办法改变复选框的样式?
发布于 2012-01-27 05:32:11
我可以想到几种方法来做到这一点,但遗憾的是,这两种方法都不是特别容易。
一种方法是使用Blend或类似的工具来获取RadTreeViewItem类的模板。Telerik.Windows.Controls.Navigation程序集中有RadTreeViewItem类及其模板。复制此模板并修改此模板中的CheckBox,以根据需要自定义其外观。
要使用该模板,请将ControlTemplate和Style添加到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文件中的任何RadTreeViews。
请注意,我们必须使用implicit style (即没有x:Key的样式),因为似乎没有其他方法来告诉RadTreeView将给定的样式应用于其子项。
或者,您可以使用modify a built-in theme。这种方法还可以更改应用程序中其他Telerik控件中使用的CheckBoxes样式,例如,在RadGridView中的GridViewCheckBoxColumn中。
编辑:如果希望CheckBox的模板默认用于RadTreeView,可以在Telerik.Windows.Controls程序集的Themes\Office\Black\System.Windows.Controls.xaml中找到它。这假设您使用的是“Office Black”主题;如果您使用的是不同的Telerik主题,请调整此文件的路径。
https://stackoverflow.com/questions/8976231
复制相似问题