Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe MultiDataTrigger

Rappresenta un trigger che applica i valori delle proprietà o esegue azioni quando i dati associati soddisfano un set di condizioni.

Spazio dei nomi:  System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS per XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[ContentPropertyAttribute("Setters")]
public sealed class MultiDataTrigger : TriggerBase, 
	IAddChild
<MultiDataTrigger>
  Setters
</MultiDataTrigger>

Il tipo MultiDataTrigger espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoMultiDataTriggerInizializza una nuova istanza di MultiDataTrigger classe.
In alto

  NomeDescrizione
Proprietà pubblicaConditionsOttiene una raccolta di Condition oggetti. Le modifiche ai valori di proprietà si applicano a tutte le condizioni nella raccolta vengono soddisfatte.
Proprietà pubblicaDependencyObjectTypeottiene DependencyObjectType tale esegue il wrapping CLR tipo dell'istanza.  (Ereditato da DependencyObject)
Proprietà pubblicaDispatcher ottiene l'oggetto Dispatcher al quale l'oggetto DispatcherObject è associato. (Ereditato da DispatcherObject)
Proprietà pubblicaEnterActionsOttiene una raccolta di TriggerAction oggetti da applicare quando l'oggetto del trigger diventa attivo. Questa proprietà non si applica a EventTrigger classe. (Ereditato da TriggerBase)
Proprietà pubblicaExitActionsOttiene una raccolta di TriggerAction oggetti da applicare quando l'oggetto del trigger diventa inattiva. Questa proprietà non si applica a EventTrigger classe. (Ereditato da TriggerBase)
Proprietà pubblicaIsSealedOttiene un valore che indica se l'istanza attualmente è sealed (sola lettura). (Ereditato da DependencyObject)
Proprietà pubblicaSettersOttiene una raccolta di Setter oggetti che descrivono i valori della proprietà per applicare quando tutti gli stati di MultiDataTrigger sono validi.
In alto

  NomeDescrizione
Metodo pubblicoCheckAccessdetermina se il thread chiamante ha accesso a questo DispatcherObject. (Ereditato da DispatcherObject)
Metodo pubblicoClearValue(DependencyProperty)cancella il valore locale di una proprietà. La proprietà da cancellare viene specificata da un oggetto DependencyProperty identificatore. (Ereditato da DependencyObject)
Metodo pubblicoClearValue(DependencyPropertyKey)Cancella il valore locale di una proprietà di sola lettura. La proprietà da cancellare viene specificata da un oggetto DependencyPropertyKey. (Ereditato da DependencyObject)
Metodo pubblicoCoerceValueAssegna il valore del specificato proprietà di dipendenza. Questa operazione viene eseguita utilizzando qualsiasi CoerceValueCallback funzione specificata nei metadati della proprietà per la proprietà di dipendenza come esiste nel chiamare DependencyObject. (Ereditato da DependencyObject)
Metodo pubblicoEqualsdetermina se fornito DependencyObject equivale a corrente DependencyObject. (Ereditato da DependencyObject)
Metodo pubblicoGetHashCodeOttiene un oggetto codice hash per questo DependencyObject. (Ereditato da DependencyObject)
Metodo pubblicoGetLocalValueEnumeratorCrea un enumeratore specializzato per determinare quali proprietà di dipendenza in locale è impostato stima su questa DependencyObject. (Ereditato da DependencyObject)
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoGetValueRestituisce il valore effettivo corrente di un oggetto proprietà di dipendenza in questa istanza di un oggetto DependencyObject. (Ereditato da DependencyObject)
Metodo pubblicoInvalidatePropertyRivaluta il valore effettivo per la proprietà di dipendenza (Ereditato da DependencyObject)
Metodo pubblicoReadLocalValueRestituisce il valore locale di un oggetto proprietà di dipendenza, se esiste. (Ereditato da DependencyObject)
Metodo pubblicoSetCurrentValueImposta il valore di un oggetto proprietà di dipendenza senza modificarne il codice sorgente di valore. (Ereditato da DependencyObject)
Metodo pubblicoSetValue(DependencyProperty, Object)Imposta il valore locale di un oggetto proprietà di dipendenza, specificato dal relativo identificatore di proprietà di dipendenza. (Ereditato da DependencyObject)
Metodo pubblicoSetValue(DependencyPropertyKey, Object)Imposta il valore locale di un oggetto di sola lettura proprietà di dipendenza, specificato da DependencyPropertyKey identificatore della proprietà di dipendenza. (Ereditato da DependencyObject)
Metodo protettoShouldSerializePropertyRestituisce un valore che indica se i processi di serializzazione deve serializzare il valore fornito per proprietà di dipendenza. (Ereditato da DependencyObject)
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblicoVerifyAccess Impone che il thread chiamante abbia accesso a questo DispatcherObject. (Ereditato da DispatcherObject)
In alto

  NomeDescrizione
Implementazione esplicita dell'interfacciaMetodo privatoIAddChild.AddChildaggiunge un oggetto figlio.
Implementazione esplicita dell'interfacciaMetodo privatoIAddChild.AddTextAggiunge il contenuto di testo di un nodo all'oggetto.
In alto

In MultiDataTrigger l'oggetto è simile a un oggetto MultiTriggertuttavia, a differenza degli stati di un oggetto MultiDataTrigger sono basati sui valori delle proprietà dei dati associati anziché quelli di un oggetto UIElement. In MultiDataTrigger, una condizione viene soddisfatta quando il valore della proprietà dell'elemento di dati corrisponde specificato Value. È quindi possibile utilizzare le funzioni o imposta EnterActions e ExitActions proprietà per applicare le modifiche o azioni di avvio quando tutte condizioni seguenti.

Setters proprietà di un oggetto MultiDataTrigger l'oggetto può essere costituito da solo Setter oggetti. Aggiunta di un oggetto Setter figlio a un oggetto MultiDataTrigger l'oggetto in modo implicito la aggiunge a SetterBaseCollection per MultiDataTrigger oggetto. EventSetter gli oggetti non sono supportati; solo Style.Setters supporta EventSetter oggetti.

Per informazioni su quando utilizzare i trigger e quando utilizzare altre tecniche, vedere Cenni preliminari sui modelli di dati.

Nell'esempio seguente, ItemsSource proprietà di ListBox è associato a Places, ObservableCollection<T> di Place oggetti. Place gli oggetti dispongono di proprietà Name e State. la definizione di Place e Places non vengono visualizzati.

ciascuno ListBoxItem il ListBox visualizza un' Place oggetto. Style nell'esempio viene applicato a ogni controllo ListBoxItem. Condition elementi di MultiDataTrigger specificare che se Name e State il Place l'elemento dati è Portland e OR rispettivamente, quindi lo sfondo di corrispondenza ListBoxItem è impostato su 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>


.NET Framework

Supportato in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro pubblico static (Shared in Visual Basic) di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft