настроить стиль CheckList RadTreeView - PullRequest
1 голос
/ 23 января 2012

Есть ли способ изменить стиль флажков, когда ItemsOptionListType = "CheckList" внутри RadTreeView?

1 Ответ

3 голосов
/ 27 января 2012

Есть несколько способов сделать это, о которых я могу подумать, но, к сожалению, ни один из них не особенно прост.

Одним из способов является использование 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 применить данный стиль к своему дочернему элементу. товар.


Кроме того, вы можете изменить встроенную тему . Этот подход также может изменить стили флажков, используемых в других элементах управления Telerik в вашем приложении, например, в GridViewCheckBoxColumn в RadGridView.


РЕДАКТИРОВАТЬ : если вы хотите, чтобы шаблон для CheckBox использовался в RadTreeView по умолчанию, вы найдете его в Themes \ Office \ Black \ System.Windows.Controls.xaml в сборке Telerik.Windows.Controls. Это предполагает, что вы используете тему «Office Black»; измените путь к этому файлу, если вы используете другую тему Telerik.

...