728x90
반응형
728x170
■ ControlTemplate 엘리먼트를 사용해 마우스 위치시 배경색이 변경되는 Button 엘리먼트를 정의하는 방법을 보여준다.
▶ MainWindow.xaml
<Window x:Class="TestProject.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="800"
Height="600"
Title="TestProject"
FontFamily="나눔고딕코딩"
FontSize="16">
<Window.Resources>
<ControlTemplate x:Key="roundbutton" TargetType="Button">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup Name="CommonStates">
<VisualState Name="Normal">
<Storyboard>
<ColorAnimation
Storyboard.TargetName="ellipse"
Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)"
Duration="0:0:0.3"
To="{TemplateBinding Background}" />
</Storyboard>
</VisualState>
<VisualState Name="MouseOver">
<Storyboard>
<ColorAnimation
Storyboard.TargetName="ellipse"
Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)"
Duration="0:0:0.3"
To="Yellow" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Ellipse Name="ellipse"
Fill="{TemplateBinding Background}"
Stroke="{TemplateBinding Foreground}" />
<ContentPresenter x:Name="contentPresenter"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</Window.Resources>
<StackPanel
HorizontalAlignment="Center"
VerticalAlignment="Center">
<Label>Unstyled Button</Label>
<Button
Margin="0 10 0 0"
Width="100"
Height="30"
Content="Button 1" />
<Label
Margin="0 10 0 0"
Content="Rounded Button" />
<Button
Template="{StaticResource roundbutton}"
Margin="0 10 0 0"
Width="100"
Height="100"
Content="Button 2" />
</StackPanel>
</Window>
728x90
반응형
그리드형(광고전용)
'C# > WPF' 카테고리의 다른 글
[C#/WPF] ControlTemplate 엘리먼트 : CheckBox 엘리먼트 정의하기 (0) | 2023.01.23 |
---|---|
[C#/WPF] ControlTemplate 엘리먼트 : Calendar 엘리먼트 정의하기 (0) | 2023.01.22 |
[C#/WPF] ControlTemplate 엘리먼트 : 비주얼 상태와 트리거를 사용해 Button 엘리먼트 정의하기 (0) | 2023.01.22 |
[C#/WPF] Control 클래스 : 사용자 지정 가능한 모양을 가진 컨트롤 만들기 (0) | 2023.01.21 |
[C#/WPF] Application 클래스 : LoadComponent 정적 메소드를 사용해 리소스 딕셔너리 구하기 (0) | 2023.01.21 |
[C#/WPF] HierarchicalDataTemplate 엘리먼트 : DataType 속성을 사용해 트리 만들기 (0) | 2023.01.20 |
[C#/WPF] ToolTipService 엘리먼트 : 툴팁 표시하기 (0) | 2023.01.19 |
[C#/WPF] ToolTip 엘리먼트 : Placement/PlacementRectangle 속성 사용하기 (0) | 2023.01.19 |
[C#/WPF] ToolBar 엘리먼트 : 내부 컨트롤 스타일 설정하기 (0) | 2023.01.19 |
[C#/WPF] ToolBar 엘리먼트 : OverflowMode 첨부 속성 사용하기 (0) | 2023.01.18 |
댓글을 달아 주세요