Привет, мне было интересно узнать, можно ли выровнять кнопку переключения на элементе управления WPF в правой части?Как выровнять кнопку управления переключателем WPF Expander
ответ
С 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
.
Почему у вас должен быть такой длительный процесс, когда в приведенной ниже ссылке есть простой процесс. http://stackoverflow.com/questions/9288342/how-to-put-wpf-expander-toggle-button-on-right –