019. Event Trigger

2021. 10. 30. 10:37·사소한 아이의 소소한 스킬/C#
반응형

Property Trigger에 이어 이번엔 Event Trigger다

 

Event Trigger는 특정 Event가 발생되었을때 수행되는 Trigger다

 

코드 ㄱㄱ

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<Window x:Class="TestProject.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:TestProject"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <Rectangle Name="rctback" HorizontalAlignment="Left" Height="100" Stroke="Black" VerticalAlignment="Top" Width="100" Margin="178,92,0,0" >
            <Rectangle.Style>
                <Style TargetType="Rectangle">
                    <Setter Property="Fill" Value="Green"></Setter>
                    <Style.Triggers>
                        <EventTrigger RoutedEvent="MouseEnter">
                            <EventTrigger.Actions>
                                <BeginStoryboard>
                                    <Storyboard>
                                        <DoubleAnimation Duration="0:0:0.800" Storyboard.TargetProperty="Height" To="300" />
                                        <DoubleAnimation Duration="0:0:0.800" Storyboard.TargetProperty="Width" To="300" />
                                    </Storyboard>
                                </BeginStoryboard>
                            </EventTrigger.Actions>
 
                        </EventTrigger>
                        <EventTrigger RoutedEvent="MouseLeave">
                            <EventTrigger.Actions>
                                <BeginStoryboard>
                                    <Storyboard>
                                        <DoubleAnimation Duration="0:0:0.800" Storyboard.TargetProperty="Height" To="100" />
                                        <DoubleAnimation Duration="0:0:0.800" Storyboard.TargetProperty="Width" To="100" />
                                    </Storyboard>
                                </BeginStoryboard>
                            </EventTrigger.Actions>
                        </EventTrigger>
                    </Style.Triggers>
                </Style>
            </Rectangle.Style>
        </Rectangle>
    </Grid>
</Window>
 
Colored by Color Scripter
cs

 

코드가 길긴하지만..... 보면 뭐 없는 코드다.

 

일단 1개의 Rectangle을 선언해주고.. 그 Rectangle의 Style을 지정해준다.

 

그후 Event Trigger를 선언..!!

 

마우스가 Rectangle 위로 올라왔을때와 내려왔을때 2가지를 선언해주고.

 

Rectangle의 Width, Height를 수정하는 애니메이션을 발동시켰다..

 

DoubleAnimation등은 추후에 추가로 작성하는 것으로 하고... 간단히 설명하면 800 밀리세컨드동안 Width, Height를 100-300 으로 수정하는 애니메이션일 뿐이다.

 

해당 코드를 수행하면

 

 

요롷게 될 것이다.

 

막상 코드를 작성하고 실행해보면 어려울게없을 것이다.

 

코드는 여기

TestProject.zip
0.04MB

 

반응형
'사소한 아이의 소소한 스킬/C#' 카테고리의 다른 글
  • 021. Multi Trigger
  • 020. Data Trigger
  • 018. Style Trigger
  • 017. ViewBox
JOOJI
JOOJI
그냥 혼자좋아하는 것들 남기는 블로그....
  • JOOJI
    사소한프로그래머의 소소한행복
    JOOJI
  • 전체
    오늘
    어제
    • 분류 전체보기 (951) N
      • 사소한 아이의 소소한 일상 (245)
      • 사소한 아이의 소소한 먹거리 (43)
      • 사소한 아이의 소소한 정보 (75) N
      • 사소한 아이의 소소한 감사 (4)
      • 사소한 아이의 소소한 운동 (53) N
      • 사소한 아이의 소소한 여행 (40)
        • 2013_전주 (1)
        • 2014_독일 (13)
        • 2014_군산 (1)
        • 2015_제주도 (3)
        • 2015_서울모토쇼 (3)
        • 2015_진해 (1)
        • 2015_전주 (1)
        • 2016_여수 (1)
        • 2020_강릉 (1)
        • 2022_제주도 (4)
      • 사소한 아이의 소소한 강짱 (22)
        • 하트투하트 (10)
        • MAPS (1)
        • 화려한 유혹 (2)
        • 한여름의 추억 (2)
      • 사소한 아이의 TV (50)
        • Drama (9)
        • 예능 (32)
        • 사소한 아이의 다현 (9)
      • 사소한 아이의 소소한 스킬 (130)
        • Scaleform (2)
        • C# (74)
        • QT (3)
        • 알고리즘 (4)
        • Python (21)
        • PyQT5 (9)
        • C_C++ (2)
      • 사소한 아이의 소소한 축구 (283)
        • Korea (25)
        • Germany (45)
        • Bayern Munich (64)
        • Soccer_ETC (75)
        • Euro 2016 (12)
        • 친선경기 (3)
      • 사소한 아이의 소소한 생활정보 (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
    • 관리
  • 링크

    • 독일여행
    • 레바티스토리
    • 프라치노 공간
    • 남성패션꿀템 블로그
  • 공지사항

  • 인기 글

  • 태그

    러닝
    회사밥
    독일
    python
    바이에른 뮌헨
    문제
    WPF
    c#
    분데스리가
    뮌헨
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
JOOJI
019. Event Trigger
상단으로

티스토리툴바