Condition.Binding Propiedad

Definición

Obtiene o establece el enlace que especifica la propiedad de la condición. Esto solo es aplicable a los objetos MultiDataTrigger.

public System.Windows.Data.BindingBase Binding { get; set; }

Valor de propiedad

El valor predeterminado es null.

Ejemplos

En el ejemplo siguiente, el ItemsSource de ListBox está enlazado a Places, un ObservableCollection<T> de objetos Place . Los objetos Place tienen propiedades Name y State.

Cada ListBoxItem una de las ListBox muestra un objeto Place . En Style el ejemplo se aplica a cada ListBoxItem. Los Conditionvalores de MultiDataTrigger se especifican de forma que si el nombre y el estado del elemento de datos Place son "Portland" y "OR", respectivamente, el fondo de correspondiente ListBoxItem se establece en Cian.

<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>

Comentarios

MultiDataTriggerpermite establecer valores de propiedad en función de los valores de los datos que se devuelven. Por ejemplo, si está mostrando una lista de elementos de tarea, puede que desee mostrar una tarea con un fondo rojo si es de prioridad alta y no se ha examinado durante más de dos semanas.

Se crea un enlace y se usa la Path propiedad para enlazar a una propiedad de un objeto determinado (el objeto de origen de enlace). Por ejemplo, puede enlazar a la propiedad Priority de una tarea. Para obtener más información, consulte Información general sobre el enlace de datos.

Tenga en cuenta que si es una condición para , MultiDataTriggerse deben establecer las Binding propiedades y Value . Establecer el Property valor provocaría una excepción en ese caso.

Uso de atributos XAML

<object property="{Binding  declaration}"/>  

Uso de elementos de propiedad XAML

<object>  
  <object.Binding>  
    <Binding …/>  
  </object.Binding>  
</object>  

Valores XAML

declaration
Declaración de enlace. Consulte Información general sobre declaraciones de enlace para obtener más información.

Se aplica a

Producto Versiones
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Consulte también