020. Data Trigger

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

이번엔 Data Trigger이다.

 

모든 Trigger가 그렇듯.. 코드 비하인드의 if문을 생각하면 좋다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if( 나는 부자다 )
 
{
 
    /// 돈을 쓰자
 
}
 
else
 
{
 
    /// 열심히 모으자
 
}
cs

 

이러한 if문을 xaml로 쓰는게 trigger문..

 

이번엔 Data Trigger이다.

 

Data Trigger... 이름만 봐도 뭐.. Data를 비교하여 수행하는 것..

 

바로 코드 ㄱㄱ

 

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
<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>
 
        <ComboBox x:Name="cb" Height="44" VerticalAlignment="Top">
            <ComboBoxItem Content="1"/>
            <ComboBoxItem Content="2"/>
            <ComboBoxItem Content="3"/>
            <ComboBoxItem Content="4"/>
        </ComboBox>
 
        <Rectangle x:Name="rect" Grid.Column="0" HorizontalAlignment="Stretch" d:LayoutOverrides="LeftMargin, RightMargin" Margin="0,44,0,0">
            <Rectangle.Style>
                <Style TargetType="{x:Type Rectangle}">
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding ElementName=cb,Path=SelectedIndex}" Value="0">
                            <Setter Property="Fill" Value="Red"></Setter>
                        </DataTrigger>
                        <DataTrigger Binding="{Binding ElementName=cb,Path=SelectedIndex}" Value="1">
                            <Setter Property="Fill" Value="Yellow"></Setter>
                        </DataTrigger>
                        <DataTrigger Binding="{Binding ElementName=cb,Path=SelectedIndex}" Value="2">
                            <Setter Property="Fill" Value="Green"></Setter>
                        </DataTrigger>
                        <DataTrigger Binding="{Binding ElementName=cb,Path=SelectedIndex}" Value="3">
                            <Setter Property="Fill" Value="Blue"></Setter>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </Rectangle.Style>
        </Rectangle>
    </Grid>
</Window>
 
Colored by Color Scripter
cs

 

이거도 코드설명을 아주 잠깐하자면..

 

콤보박스에서 선택한 Index에 따라 Rectangle의 Fill 색상을 변경토록 한 거다..

 

어려운게 없을테니.... 뭐... 설명은 여기까지..

 

실행화면은

 

간 - 단

 

코드는 여기

 

TestProject.zip
0.04MB

 

반응형
'사소한 아이의 소소한 스킬/C#' 카테고리의 다른 글
  • 023. String Operator
  • 021. Multi Trigger
  • 019. Event Trigger
  • 018. Style Trigger
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)
  • 블로그 메뉴

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

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

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바