Настроить стиль CheckList RadTreeView
Есть ли способ изменить стиль флажков, когда ItemsOptionListType="CheckList" внутри RadTreeView?
1 ответ
Есть несколько способов сделать это, о которых я могу подумать, но, к сожалению, ни один из них не особенно прост.
Одним из способов является использование Blend или аналогичного инструмента для получения шаблона для класса RadTreeViewItem. Класс RadTreeViewItem и его шаблон находятся в сборке Telerik.Windows.Controls.Navigation. Возьмите копию этого шаблона и измените CheckBox
внутри этого шаблона, чтобы настроить его внешний вид, как вы хотите.
Чтобы использовать шаблон, добавьте ControlTemplate
и 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>
Затем следует применить измененный шаблон ко всем RadTreeView в том же файле XAML.
Обратите внимание, что мы должны использовать неявный стиль (т. Е. Один без x:Key
), так как, кажется, нет другого способа сказать RadTreeView
применить данный стиль к своим дочерним элементам.
Кроме того, вы можете изменить встроенную тему. Этот подход также может изменить стили CheckBoxes, используемые в других элементах управления Telerik в вашем приложении, например, в GridViewCheckBoxColumn в RadGridView.
РЕДАКТИРОВАТЬ: если вы хотите, чтобы шаблон для CheckBox использовался в RadTreeView по умолчанию, вы найдете его в Themes\Office\Black\System.Windows.Controls.xaml в сборке Telerik.Windows.Controls. Это предполагает, что вы используете тему "Office Black"; измените путь к этому файлу, если вы используете другую тему Telerik.