2010-04-06 4 views
5

Привет, мне было интересно узнать, можно ли выровнять кнопку переключения на элементе управления WPF в правой части?Как выровнять кнопку управления переключателем WPF Expander

+0

Почему у вас должен быть такой длительный процесс, когда в приведенной ниже ссылке есть простой процесс. http://stackoverflow.com/questions/9288342/how-to-put-wpf-expander-toggle-button-on-right –

ответ

14

С WPF все возможно. ;) К сожалению, не все просто. Лучше всего здесь перепланировать расширитель. Начните с копирования шаблона Expander по умолчанию, найденного here.

Далее, найдите Grid, который содержит 2 колонки, один содержит ToggleButton, а другой содержит ContentPresenter. Перемените столбцы, чтобы переключатель был в столбце 1. Затем измените размеры определения столбцов, чтобы первый столбец был размером с звездой, а второй - размером 20. Когда закончите, вы должны иметь кусок в шаблоне, который выглядит так:

<Grid> 
    <Grid.ColumnDefinitions> 
    <ColumnDefinition Width="*" /> 
    <ColumnDefinition Width="20" /> 
    </Grid.ColumnDefinitions> 
    <ToggleButton Grid.Column="1" 
     IsChecked="{Binding Path=IsExpanded,Mode=TwoWay, 
     RelativeSource={RelativeSource TemplatedParent}}" 
     OverridesDefaultStyle="True" 
     Template="{StaticResource ExpanderToggleButton}" 
     Background="{StaticResource NormalBrush}" /> 
    <ContentPresenter Margin="4" 
     ContentSource="Header" 
     RecognizesAccessKey="True" /> 
</Grid> 

Продолжить изменение шаблона, пока вы не получите внешний вид, который вам нужен.

EDIT: Шаблон, предоставленный на MSDN, представляет собой версию головоломки «реального» расширителя. Если вам нужен стилизованный шаблон расширителя, используйте Expression Blend и скопируйте существующий шаблон управления с Expander.