728x90
반응형
728x170
▶ 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="Storyboard 클래스 : 코드 구현하기"
FontFamily="나눔고딕코딩"
FontSize="16">
</Window>
728x90
▶ MainWindow.xaml.cs
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media.Animation;
using System.Windows.Media;
namespace TestProject
{
/// <summary>
/// 메인 윈도우
/// </summary>
public partial class MainWindow : Window
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainWindow()
/// <summary>
/// 생성자
/// </summary>
public MainWindow()
{
// Page 객체에 대해 NameScope 객체를 설정합니다.
NameScope.SetNameScope(this, new NameScope());
#region StackPanel 객체를 생성한다.
StackPanel stackPanel = new StackPanel();
stackPanel.HorizontalAlignment = HorizontalAlignment.Center;
Content = stackPanel;
#endregion
#region Border 객체를 생성한다.
Border border = new Border();
border.Margin = new Thickness(0, 60, 0, 20);
border.BorderBrush = Brushes.Black;
border.BorderThickness = new Thickness(1);
border.Background = Brushes.Gray;
border.Padding = new Thickness(20);
stackPanel.Children.Add(border);
// Storyboard.TargetName 첨부 속성 설정을 위해 Border 객체의 명칭을 등록한다.
RegisterName("border", border);
#endregion
#region ThicknessAnimation 객체를 생성한다.
ThicknessAnimation thicknessAnimation = new ThicknessAnimation();
thicknessAnimation.RepeatBehavior = RepeatBehavior.Forever;
thicknessAnimation.AutoReverse = true;
thicknessAnimation.Duration = TimeSpan.FromSeconds(1);
thicknessAnimation.From = new Thickness(1, 1, 1, 1);
thicknessAnimation.To = new Thickness(56, 28, 56, 28);
Storyboard.SetTargetName(thicknessAnimation, "border");
Storyboard.SetTargetProperty(thicknessAnimation, new PropertyPath(Border.BorderThicknessProperty));
#endregion
#region Storyboard 객체를 생성한다.
Storyboard storyboard = new Storyboard();
storyboard.Children.Add(thicknessAnimation);
#endregion
border.Loaded += delegate(object sender, RoutedEventArgs e)
{
storyboard.Begin(this);
};
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > WPF' 카테고리의 다른 글
[C#/WPF] FormatConvertedBitmap 클래스 : 비트맵 소스 픽셀 포맷 변경하기 (0) | 2014.01.31 |
---|---|
[C#/WPF] FormatConvertedBitmap 엘리먼트 : DestinationFormat 속성을 사용해 비트맵 픽셀 포맷 변경하기 (0) | 2014.01.31 |
[C#/WPF] BitmapImage 클래스 : 크기 조정 비트맵 이미지 구하기 (0) | 2014.01.31 |
[C#/WPF] BitmapImage 엘리먼트 : DecodePixelWidth/DecodePixelHeight 속성 사용하기 (0) | 2014.01.31 |
[C#/WPF] Image 엘리먼트 : Width 속성 사용하기 (0) | 2014.01.31 |
[C#/WPF] ControlTemplate 엘리먼트 : RelativeSource 태그 확장에서 TemplatedParent 모드 사용하기 (0) | 2014.01.31 |
[C#/WPF] WPF 버전 번호가 저장된 레지스트리 키 (0) | 2014.01.30 |
[C#/WPF] BrowserInteropHelper 클래스 : HostScript 속성을 사용해 XBAP 호스트 웹 페이지 통신하기 (0) | 2014.01.30 |
[C#/WPF] Button 클래스 : SetResourceReference 메소드를 사용해 리소스 설정하기 (0) | 2014.01.30 |
[C#/WPF] FrameworkElement 클래스 : TryFindResource 메소드를 사용해 리소스 찾기 (0) | 2014.01.30 |
댓글을 달아 주세요