2012-01-23 2 views

ответ

3

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

Один из способов - использовать 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> 

Это должно затем применить измененный шаблон к любым RadTreeViews в том же файле XAML.

Обратите внимание, что мы должны использовать implicit style (т.е. один без x:Key), так как, кажется, нет никакого другого способа сказать RadTreeView применить заданный стиль для своих дочерних элементов.


В качестве альтернативы, вы можете modify a built-in theme. Этот подход также может изменить стили CheckBox, используемые в других элементах Telerik в вашем приложении, например, в GridViewCheckBoxColumn в RadGridView.


EDIT: если вы хотите, чтобы шаблон для CheckBox, используемый в RadTreeView по умолчанию, вы найдете его в Themes \ Office \ Black \ System.Windows.Controls.xaml в Telerik .Windows.Controls сборка. Предполагается, что вы используете тему «Office Black»; отредактируйте путь к этому файлу, если вы используете другую тему Telerik.

Смежные вопросы