当ItemsOptionListType =“CheckList”时,有没有办法改变复选框的样式 在RadTreeView里面?
答案 0 :(得分:3)
我可以想到有几种方法可以做到这一点,但遗憾的是,它们都不是特别容易。
一种方法是使用Blend或类似工具来获取RadTreeViewItem类的模板。 RadTreeViewItem类及其模板位于Telerik.Windows.Controls.Navigation程序集中。获取此模板的副本并修改此模板中的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文件中的任何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主题,请调整此文件的路径。