Partilhar via


Condition.Binding Propriedade

Definição

Obtém ou define a associação que especifica a propriedade da condição. Isso é aplicável somente a objetos MultiDataTrigger.

public:
 property System::Windows::Data::BindingBase ^ Binding { System::Windows::Data::BindingBase ^ get(); void set(System::Windows::Data::BindingBase ^ value); };
public System.Windows.Data.BindingBase Binding { get; set; }
member this.Binding : System.Windows.Data.BindingBase with get, set
Public Property Binding As BindingBase

Valor da propriedade

O valor padrão é nulo.

Exemplos

No exemplo a seguir, o ItemsSourceListBox do está associado a Casas, um ObservableCollection<T> dos objetos Place . Os objetos Place têm propriedades Name e State.

Cada ListBoxItem um dos ListBox exibe um objeto Place . O Style no exemplo é aplicado a cada ListBoxItem. Os Conditions do são especificados de MultiDataTrigger modo que, se o nome e o estado do item de dados Place forem "Portland" e "OR", respectivamente, o plano de fundo correspondente ListBoxItem será definido como Ciano.

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

Comentários

MultiDataTriggers permitem que você defina valores de propriedade com base nos valores dos dados retornados. Por exemplo, se você estiver exibindo uma lista de itens de tarefa, talvez queira exibir uma tarefa com uma tela de fundo vermelha se ela for de alta prioridade e não tiver sido analisada por mais de duas semanas.

Você cria uma associação e usa a Path propriedade para associar a uma propriedade de um determinado objeto (o objeto de origem da associação). Por exemplo, você pode associar à propriedade Priority de uma Tarefa. Para obter mais informações, consulte Visão geral da associação de dados.

Observe que, se for uma condição para um MultiDataTrigger, as Binding propriedades e Value deverão ser definidas. Definir o Property valor causaria uma exceção nesse caso.

Uso do Atributo XAML

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

Uso do elemento propriedade XAML

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

Valores XAML

declaration
Uma declaração de associação. Consulte Visão geral de declarações de associação para obter mais informações.

Aplica-se a

Confira também