728x90
반응형
728x170
■ Border 클래스의 BorderThickness 속성을 변경시키는 애니메이션을 만드는 방법을 보여준다.
▶ 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>
▶ MainWindow.xaml.cs
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Animation;
namespace TestProject
{
/// <summary>
/// 메인 윈도우
/// </summary>
public partial class MainWindow : Window
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainWindow()
/// <summary>
/// 생성자
/// </summary>
public MainWindow()
{
InitializeComponent();
NameScope.SetNameScope(this, new NameScope());
Border border = new Border();
border.HorizontalAlignment = HorizontalAlignment.Center;
border.VerticalAlignment = VerticalAlignment.Center;
border.Width = 300;
border.Height = 300;
border.BorderThickness = new Thickness(1);
border.BorderBrush = Brushes.Black;
border.Background = Brushes.Gray;
border.Padding = new Thickness(20);
RegisterName("border", border);
ThicknessAnimation thicknessAnimation = new ThicknessAnimation();
thicknessAnimation.Duration = TimeSpan.FromSeconds(2);
thicknessAnimation.From = new Thickness(1);
thicknessAnimation.To = new Thickness(30);
thicknessAnimation.RepeatBehavior = RepeatBehavior.Forever;
thicknessAnimation.AutoReverse = true;
Storyboard.SetTargetName(thicknessAnimation, "border");
Storyboard.SetTargetProperty(thicknessAnimation, new PropertyPath(Border.BorderThicknessProperty));
Storyboard storyboard = new Storyboard();
storyboard.Children.Add(thicknessAnimation);
border.Loaded += delegate(object sender, RoutedEventArgs e)
{
storyboard.Begin(this);
};
Content = border;
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > WPF' 카테고리의 다른 글
[C#/WPF] DockPanel 클래스 : 공간 분할하기 (0) | 2023.01.12 |
---|---|
[C#/WPF] Storyboard 엘리먼트 : 비동기 프로세스 동안 연속 애니메이션 표시하기 (0) | 2023.01.11 |
[C#/WPF] Style 엘리먼트 : TargetType 속성을 사용해 MenuItem 엘리먼트 스타일 설정하기 (0) | 2023.01.09 |
[C#/WPF] LengthConverter 클래스 : ConvertFromString 메소드를 사용해 문자열에서 길이 구하기 (0) | 2023.01.09 |
[C#/WPF] BulletDecorator 엘리먼트 사용하기 (0) | 2023.01.09 |
[C#/WPF] ControlTemplate 엘리먼트 : 버튼 배경색을 그라데이션 처리한 Button 엘리먼트 정의하기 (0) | 2023.01.08 |
[C#/WPF] Frame 클래스 : Navigated 이벤트를 사용해 스크립트 오류 억제하기 (0) | 2023.01.08 |
[C#/WPF] Dispatcher 클래스 : Run 정적 메소드를 사용해 다중 윈도우 다중 스레드 사용하기 (0) | 2023.01.08 |
[C#/WPF] 백그라운드 스레드로 차단 작업 처리하기 (0) | 2023.01.08 |
[C#/WPF] DispatcherObject 클래스 : Dispatcher 속성을 사용해 장기 실행 계산이 포함된 단일 스레드 애플리케이션 만들기 (0) | 2023.01.07 |
댓글을 달아 주세요