DataTemplate.Triggers 속성

정의

하나 이상의 조건에 따라 속성 값을 적용하거나 작업을 수행하는 트리거의 컬렉션을 가져옵니다.

public:
 property System::Windows::TriggerCollection ^ Triggers { System::Windows::TriggerCollection ^ get(); };
[System.Windows.Markup.DependsOn("VisualTree")]
public System.Windows.TriggerCollection Triggers { get; }
[System.Windows.Markup.DependsOn("VisualTree")]
[System.Windows.Markup.DependsOn("Template")]
public System.Windows.TriggerCollection Triggers { get; }
[<System.Windows.Markup.DependsOn("VisualTree")>]
member this.Triggers : System.Windows.TriggerCollection
[<System.Windows.Markup.DependsOn("VisualTree")>]
[<System.Windows.Markup.DependsOn("Template")>]
member this.Triggers : System.Windows.TriggerCollection
Public ReadOnly Property Triggers As TriggerCollection

속성 값

TriggerCollection

트리거 개체의 컬렉션입니다. 기본값은 null입니다.

특성

예제

다음은 DataTemplate 속성의 Triggers 사용을 보여 줍니다.

<DataTemplate DataType="{x:Type src:AuctionItem}">
    <Border BorderThickness="1" BorderBrush="Gray"
            Padding="7" Name="border" Margin="3" Width="500">
        <Grid>
          <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
            <RowDefinition/>
            <RowDefinition/>
          </Grid.RowDefinitions>
          <Grid.ColumnDefinitions>
            <ColumnDefinition Width="20"/>
            <ColumnDefinition Width="86"/>
            <ColumnDefinition Width="*"/>
          </Grid.ColumnDefinitions>
              
            <Polygon Grid.Row="0" Grid.Column="0" Grid.RowSpan="4"
                     Fill="Yellow" Stroke="Black" StrokeThickness="1"
                     StrokeLineJoin="Round" Width="20" Height="20"
                     Stretch="Fill"
                     Points="9,2 11,7 17,7 12,10 14,15 9,12 4,15 6,10 1,7 7,7"
                     Visibility="Hidden" Name="star"/>

            <TextBlock Grid.Row="0" Grid.Column="1" Margin="0,0,8,0"
                       Name="descriptionTitle"
                       Style="{StaticResource smallTitleStyle}">Description:</TextBlock>
            <TextBlock Name="DescriptionDTDataType" Grid.Row="0" Grid.Column="2" 
                Text="{Binding Path=Description}" 
                Style="{StaticResource textStyleTextBlock}"/>

            <TextBlock Grid.Row="1" Grid.Column="1" Margin="0,0,8,0"
                       Name="currentPriceTitle"
                       Style="{StaticResource smallTitleStyle}">Current Price:</TextBlock>
            <StackPanel Grid.Row="1" Grid.Column="2" Orientation="Horizontal">
                <TextBlock Text="$" Style="{StaticResource textStyleTextBlock}"/>
                <TextBlock Name="CurrentPriceDTDataType" 
                    Text="{Binding Path=CurrentPrice}" 
                    Style="{StaticResource textStyleTextBlock}"/>
            </StackPanel>
        </Grid>
    </Border>
    <DataTemplate.Triggers>
        <DataTrigger Binding="{Binding Path=SpecialFeatures}">
            <DataTrigger.Value>
                <src:SpecialFeatures>Color</src:SpecialFeatures>
            </DataTrigger.Value>
          <DataTrigger.Setters>
            <Setter Property="BorderBrush" Value="DodgerBlue" TargetName="border" />
            <Setter Property="Foreground" Value="Navy" TargetName="descriptionTitle" />
            <Setter Property="Foreground" Value="Navy" TargetName="currentPriceTitle" />
            <Setter Property="BorderThickness" Value="3" TargetName="border" />
            <Setter Property="Padding" Value="5" TargetName="border" />
          </DataTrigger.Setters>
        </DataTrigger>
        <DataTrigger Binding="{Binding Path=SpecialFeatures}">
            <DataTrigger.Value>
                <src:SpecialFeatures>Highlight</src:SpecialFeatures>
            </DataTrigger.Value>
            <Setter Property="BorderBrush" Value="Orange" TargetName="border" />
            <Setter Property="Foreground" Value="Navy" TargetName="descriptionTitle" />
            <Setter Property="Foreground" Value="Navy" TargetName="currentPriceTitle" />
            <Setter Property="Visibility" Value="Visible" TargetName="star" />
            <Setter Property="BorderThickness" Value="3" TargetName="border" />
            <Setter Property="Padding" Value="5" TargetName="border" />
        </DataTrigger>
    </DataTemplate.Triggers>
</DataTemplate>

전체 샘플을 참조 하세요 데이터 바인딩 데모합니다.

설명

데이터 템플릿 내에서 트리거를 만드는 경우 트리거의 setter는 데이터 템플릿의 범위 내에 있는 속성을 설정해야 합니다. 그렇지 않으면 데이터가 포함된 형식을 대상으로 하는 스타일을 사용하여 트리거를 만드는 것이 더 적합할 수 있습니다. 예를 들어 컨트롤을 바인딩하는 ListBox 경우 컨테이너는 개체입니다 ListBoxItem . 트리거를 사용하여 범위 DataTemplate내에 없는 속성을 설정하는 경우 스타일을 만들고 ListBoxItem 해당 스타일 내에서 트리거를 만드는 것이 더 적합할 수 있습니다. 자세한 내용은 DataTemplate에 속한 내용을 참조하세요. 데이터 템플릿 개요의 입니다.

참고

이 속성은 표시된 컬렉션 구문을 통해서나 컬렉션 개체에 액세스하고 Add와 같은 다양한 메서드를 사용하여 XAML(Extensible Application Markup Language)에서만 설정할 수 있습니다. 컬렉션 개체 자체를 액세스 하는 속성은 읽기 전용, 컬렉션 자체는 읽기 / 쓰기입니다.

XAML 속성 요소 사용

<object>  
  <object.Triggers>  
    OneOrMoreTriggers  
  </object.Triggers>  
</object>  

XAML 값

OneOrMoreTriggers
0 개 이상의 TriggerBase 개체입니다.

적용 대상

추가 정보