こんにちは、WPF エキスパンダー コントロールのトグル ボタンを右端に揃えることは可能でしょうか?
6475 次
1 に答える
15
WPF を使用すると、すべてのことが可能になります。;) 残念ながら、すべてが単純というわけではありません。ここでの最善の策は、エキスパンダーを再テンプレート化することです。ここにあるデフォルトのExpander
テンプレートをコピーすることから始めます。
次に、Grid
2 つの列を含む を見つけます。1 つは を含み、もう 1 つは を含みToggleButton
ますContentPresenter
。トグルが列 1 になるように列を入れ替えます。次に、列定義のサイズを変更して、最初の列が星型のサイズになり、2 番目の列がサイズ 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>
必要なルック アンド フィールが得られるまで、テンプレートの変更を続けます。
編集: MSDN で提供されるテンプレートは、「実際の」エキスパンダー テンプレートの最低限のバージョンです。定型化されたエキスパンダー テンプレートが必要な場合は、Expression Blend を使用して、既存のコントロール テンプレートを からコピーしますExpander
。
于 2010-04-06T20:23:02.623 に答える