<DrawingImage x:Key="HexagonImage">
<DrawingImage.Drawing>
<DrawingGroup>
<GeometryDrawing Brush="White"
Geometry="M 250,0 L 750,0 L 1000,433 L 750,866 L 250,866 L 0,433 Z">
<GeometryDrawing.Pen>
<Pen Brush="Black" Thickness="10" LineJoin="Round"/>
</GeometryDrawing.Pen>
</GeometryDrawing>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
<Style x:Key="HexagonButton" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid>
<Image x:Name="hexImg" Source="{StaticResource HexagonImage}"/>
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
와 컨트롤의 색상을 변경, 나는 프로그래밍, Iv'e이 Backgroup 속성을 변경하려고 색상을 변경하려면 그러나 아무 소용이 없습니다.WPF는 : 프로그램의 스타일로이 HexagonButton이있는 사용자 정의 스타일 나는 버튼이
내가 할 수 있었던 유일한 방법은 새로운 그림 이미지를 사용하여 완전히 새로운 스타일을 만드는 것입니다. 을 입력하고 할당하십시오. 그러나 나는 그렇게 쉬운 방법이 있다고 확신한다.
작은 노트 : RelativeSource AncestorType = {x : Type Button} 대신'RelativeSource TemplatedParent' (또는'TemplateBinding')를 사용해보십시오. –