Я пытаюсь создать подобный групповой элемент элемент в XAML (для приложения Silverlight 2), но с изюминкой.
Обычно групповое поле состоит из рамки, в которой основное содержимое размещается внутри границы, а содержимое заголовка - над самой границей.
То, что я пытаюсь сделать, это поместить текст заголовка за левую границу, повернуть на 270 градусов и выровнять по верху. Но мой мозг болит от попыток выяснить поворотное преобразование.
Вот мой ControlTemplate для существующего Groupbox, который я хотел бы изменить:
<ControlTemplate TargetType="Controls1:GroupBox">
<Grid Background="{TemplateBinding Background}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Border BorderThickness="{TemplateBinding BorderThickness}" Grid.Row="1" Grid.RowSpan="2"
BorderBrush="{TemplateBinding BorderBrush}" CornerRadius="3">
<Border.Clip>
<GeometryGroup FillRule="EvenOdd">
<RectangleGeometry x:Name="FullRect" Rect="0,0,300,200"/>
<RectangleGeometry x:Name="HeaderRect" Rect="6,0,100,100"/>
</GeometryGroup>
</Border.Clip>
</Border>
<ContentPresenter Grid.Row="2" ContentTemplate="{TemplateBinding ContentTemplate}"
Content="{TemplateBinding Content}" Margin="{TemplateBinding Padding}"/>
<ContentControl x:Name="HeaderContainer" Margin="6,0,0,0" Grid.Row="0" Grid.RowSpan="2" HorizontalAlignment="Left" IsEnabled="False" >
<ContentPresenter Margin="3,0,3,0" ContentTemplate="{TemplateBinding HeaderTemplate}" Content="{TemplateBinding Header}" />
</ContentControl>
</Grid>
</ControlTemplate>
Любая помощь высоко ценится!