Compartilhar via


Condition.Binding Propriedade

Definição

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

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 é associado a Locais, um ObservableCollection<T> dos objetos Place . Objetos de local têm propriedades Nome e Estado.

Cada ListBoxItem um dos ListBox exibe um objeto Place . O Style exemplo é aplicado a cada ListBoxItem. Os Conditions do são especificados de MultiDataTrigger modo que, se o item de dados Nome e Estado do Local for "Portland" e "OR", respectivamente, o plano de fundo correspondente ListBoxItem será definido como 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>

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 um plano de fundo vermelho se ela for de alta prioridade e não tiver sido examinada 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 de 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 umMultiDataTrigger, as propriedades e Value as Binding propriedades 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 de propriedade XAML

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

Valores XAML

Declaração Uma declaração de associação. Confira a visão geral de declarações de associação para obter mais informações.

Aplica-se a

Confira também