MultiDataTrigger.Conditions 속성

정의

Condition 개체의 컬렉션입니다. 컬렉션의 모든 조건이 충족되면 속성 값의 변경 내용이 적용됩니다.

public:
 property System::Windows::ConditionCollection ^ Conditions { System::Windows::ConditionCollection ^ get(); };
public System.Windows.ConditionCollection Conditions { get; }
member this.Conditions : System.Windows.ConditionCollection
Public ReadOnly Property Conditions As ConditionCollection

속성 값

ConditionCollection

Condition 개체의 컬렉션입니다. 기본값은 빈 컬렉션입니다.

예제

다음 예에서 ItemsSource 의 속성을 ListBox 바인딩되 Places, ObservableCollection<T>Place 개체입니다. Place 개체 속성을 가질 NameState입니다. 정의 PlacePlaces 표시 되지 않습니다.

ListBoxItem 의 합니다 ListBox 표시는 Place 개체입니다. 합니다 Style 예제에서는 각각에 적용 됩니다 ListBoxItem합니다. Condition 요소의 MultiDataTrigger 있는지를 지정 합니다 NameStatePlace 데이터 항목은 PortlandOR 각각의 배경을 해당 ListBoxItem 설정 되어 Cyan입니다.

<Window.Resources>
  <c:Places x:Key="PlacesData"/>

  <Style TargetType="ListBoxItem">
    <Style.Triggers>
      <DataTrigger Binding="{Binding Path=State}" Value="WA">
        <Setter Property="Foreground" Value="Red" />
      </DataTrigger>	
      <MultiDataTrigger>
        <MultiDataTrigger.Conditions>
          <Condition Binding="{Binding Path=Name}" Value="Portland" />
          <Condition Binding="{Binding Path=State}" Value="OR" />
        </MultiDataTrigger.Conditions>
        <Setter Property="Background" Value="Cyan" />
      </MultiDataTrigger>
    </Style.Triggers>
  </Style>

  <DataTemplate DataType="{x:Type c:Place}">
    <Canvas Width="160" Height="20">
      <TextBlock FontSize="12"
             Width="130" Canvas.Left="0" Text="{Binding Path=Name}"/>
      <TextBlock FontSize="12" Width="30"
                 Canvas.Left="130" Text="{Binding Path=State}"/>
    </Canvas>
  </DataTemplate>
</Window.Resources>

<StackPanel>
  <TextBlock FontSize="18" Margin="5" FontWeight="Bold"
    HorizontalAlignment="Center">Data Trigger Sample</TextBlock>
  <ListBox Width="180" HorizontalAlignment="Center" Background="Honeydew"
    ItemsSource="{Binding Source={StaticResource PlacesData}}"/>
</StackPanel>

설명

MultiDataTrigger 개체는를 MultiTrigger점을 제외 하 고 조건에는 MultiDataTrigger 대신 바인딩된 데이터의 속성 값에 기반한는 UIElement합니다. 에 MultiDataTrigger, 데이터 항목의 속성 값을 지정 된 일치 조건이 충족 될 Value합니다. 가능한 경우 바인딩의 값의 형식으로 변환 된 값이 첫 번째 및 다음 사용 하 여 두 값이 비교 되는 Object.Equals 메서드. 합니다 MultiTrigger 조건을 모두 만족 하는 경우 작업을 관련된 setter가 적용 됩니다 (이진 AND 작업).

에 대 한는 MultiDataTrigger, 컬렉션에 있는 각 조건 둘 다 설정 해야 합니다 BindingValue 속성. 자세한 내용은 Binding를 참조하세요.

XAML 속성 요소 사용

<object>  
  <object.Conditions>  
    zeroOrMoreConditions  
  </object.Conditions>  
</object>  

XAML 값

zeroOrMoreConditions
0 개 이상의 Condition 개체입니다.

적용 대상

추가 정보