Настроить стиль 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.

Другие вопросы по тегам