我想添加一个扩展如下所示:WPF扩展与头顶部
HeaderExpander
|> {部件1,element2的,元素3}
但是它创建了一个(我想要的在文本下扩展按钮):
XAML:
<Expander Grid.Row="3"
Header="Wechselkonto: "
ExpandDirection="Right"
FlowDirection="LeftToRight">
<StackPanel
Grid.ColumnSpan="2"
Orientation="Horizontal">
<!--some buttons-->
.....
我发现默认的模板,但我不认为改变风格的正确方法:
<Style x:Key="ExpanderRightHeaderStyleCustom" TargetType="{x:Type ToggleButton}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<Border Padding="{TemplateBinding Padding}">
<Grid Background="Red" SnapsToDevicePixels="False">
<Grid.RowDefinitions>
<RowDefinition Height="19"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Button Grid.Row="0" />
<Grid Grid.Row="1">
<Grid.LayoutTransform>
<TransformGroup>
<TransformGroup.Children>
<TransformCollection>
<RotateTransform Angle="-90"/>
</TransformCollection>
</TransformGroup.Children>
</TransformGroup>
</Grid.LayoutTransform>
<Ellipse Grid.Row="0"
x:Name="circle"
HorizontalAlignment="Center"
Height="19"
Stroke="DarkGray"
VerticalAlignment="Center"
Width="19"/>
<Path Grid.Row="0"
x:Name="arrow"
Data="M 1,1.5 L 4.5,5 L 8,1.5"
HorizontalAlignment="Center"
SnapsToDevicePixels="false"
Stroke="#666"
StrokeThickness="2"
VerticalAlignment="Center"/>
</Grid>
<ContentPresenter HorizontalAlignment="Left"
Margin="0,4,0,0"
Grid.Row="1"
RecognizesAccessKey="True"
SnapsToDevicePixels="True"
VerticalAlignment="Bottom"/>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="true">
<Setter Property="Data" TargetName="arrow" Value="M 1,4.5 L 4.5,1 L 8,4.5"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Stroke" TargetName="circle" Value="#FF3C7FB1"/>
<Setter Property="Stroke" TargetName="arrow" Value="#222"/>
</Trigger>
<Trigger Property="IsPressed" Value="true">
<Setter Property="Stroke" TargetName="circle" Value="#FF526C7B"/>
<Setter Property="StrokeThickness" TargetName="circle" Value="1.5"/>
<Setter Property="Stroke" TargetName="arrow" Value="#FF003366"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
您可以根据[默认一个](http://msdn.microsoft.com/en-us/library/ms753296.aspx)制作自定义模板,然后放置这些元素,只要您喜欢。 – icebat
http://blogs.msdn.com/b/pigscanfly/archive/2010/03/28/wpf-styling-the-expander-control.aspx –
尝试用单词来描述你的要求和你的问题。 – Sheridan