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 MultiBinding

Descrive una raccolta di Binding oggetti associati a un singolo destinazione di associazione proprietà.

Spazio dei nomi:  System.Windows.Data
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("Bindings")]
public class MultiBinding : BindingBase, 
	IAddChild
<MultiBinding>
  Bindings
</MultiBinding>

Il tipo MultiBinding espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoMultiBindingInizializza una nuova istanza di MultiBinding classe.
In alto

  NomeDescrizione
Proprietà pubblicaBindingGroupNameOttiene o imposta il nome del BindingGroup a cui questa associazione appartiene. (Ereditato da BindingBase)
Proprietà pubblicaBindingsottiene la raccolta di Binding oggetti all'interno di questo MultiBinding istanza.
Proprietà pubblicaConverterOttiene o imposta il convertitore di utilizzare per convertire i valori di origine o dal valore di destinazione.
Proprietà pubblicaConverterCultureottiene o imposta CultureInfo l'oggetto che si applica a qualsiasi convertitore assegnato alle associazioni eseguito il wrapping da MultiBinding o su MultiBinding stesso.
Proprietà pubblicaConverterParameterOttiene o imposta un parametro facoltativo per passare a un convertitore come ulteriori informazioni.
Proprietà pubblicaDelayOttiene o presenta la quantità di tempo, in millisecondi, di attesa per aggiornare l'origine di associazione dopo che il valore sulle modifiche di destinazione. (Ereditato da BindingBase)
Proprietà pubblicaFallbackValueOttiene o imposta il valore da utilizzare per l'associazione non può restituire un valore. (Ereditato da BindingBase)
Proprietà pubblicaModeOttiene o imposta un valore che indica la direzione del flusso di dati di questa associazione.
Proprietà pubblicaNotifyOnSourceUpdatedOttiene o imposta un valore che indica se generare SourceUpdated evento quando un valore viene trasferito da destinazione di associazione in origine di associazione.
Proprietà pubblicaNotifyOnTargetUpdatedOttiene o imposta un valore che indica se generare TargetUpdated evento quando un valore viene trasferito da origine di associazione in destinazione di associazione.
Proprietà pubblicaNotifyOnValidationErrorOttiene o imposta un valore che indica se generare Error evento associato nell'elemento associato.
Proprietà pubblicaStringFormatOttiene o imposta una stringa che specifica come formattare l'associazione se visualizzare il valore associato come stringa. (Ereditato da BindingBase)
Proprietà pubblicaTargetNullValueOttiene o imposta il valore utilizzato nel database di destinazione quando il valore dell'origine è null. (Ereditato da BindingBase)
Proprietà pubblicaUpdateSourceExceptionFilterOttiene o imposta un gestore che è possibile utilizzare per fornire la logica personalizzata per gestire le eccezioni che il motore di associazione rileva durante l'aggiornamento di origine di associazione valore. Ciò è applicabile solo se è stato associato ExceptionValidationRule con MultiBinding oggetto.
Proprietà pubblicaUpdateSourceTriggerOttiene o imposta un valore di cui determina l'intervallo origine di associazione aggiornamenti.
Proprietà pubblicaValidatesOnDataErrorsOttiene o imposta un valore che indica se includere DataErrorValidationRule.
Proprietà pubblicaValidatesOnExceptionsOttiene o imposta un valore che indica se includere ExceptionValidationRule.
Proprietà pubblicaValidatesOnNotifyDataErrorsOttiene o imposta un valore che indica se includere NotifyDataErrorValidationRule.
Proprietà pubblicaValidationRulesottiene la raccolta di ValidationRule oggetti per questa istanza di MultiBinding.
In alto

  NomeDescrizione
Metodo pubblicoEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo protettoMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoProvideValueRestituisce un oggetto che deve essere impostato sulla proprietà in cui questi associazione ed estensione vengono applicate. (Ereditato da BindingBase)
Metodo pubblicoShouldSerializeBindingsindica se Bindings la proprietà deve essere mantenuta.
Metodo pubblicoShouldSerializeFallbackValueRestituisce un valore che indica se i processi di serializzazione deve serializzare il valore effettivo di FallbackValue proprietà nelle istanze di questa classe. (Ereditato da BindingBase)
Metodo pubblicoShouldSerializeTargetNullValuerestituisce un valore che indica se TargetNullValue la proprietà deve essere serializzata. (Ereditato da BindingBase)
Metodo pubblicoShouldSerializeValidationRulesindica se ValidationRules la proprietà deve essere mantenuta.
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto

  NomeDescrizione
Implementazione esplicita dell'interfacciaMetodo privatoIAddChild.AddChildInfrastruttura. aggiunge un oggetto figlio.
Implementazione esplicita dell'interfacciaMetodo privatoIAddChild.AddTextInfrastruttura. Aggiunge il contenuto di testo di un nodo all'oggetto.
In alto

È possibile specificare più associazioni in un oggetto MultiBinding. Quando si utilizzano oggetti MultiBinding con un convertitore, produce un valore finale per destinazione di associazione in base ai valori di tali associazioni. Ad esempio, il colore potrebbe essere calcolato dai valori rosso, blu e verde, i quali possono essere derivanti dallo stesso o da differenti oggetti origine di associazione. Quando un valore viene impostato dal database di destinazione nei database di origine, il valore della proprietà di destinazione viene convertito in un set di valori che si retroagiti nelle associazioni.

I valori delle proprietà Mode e UpdateSourceTrigger determinano la funzionalità di MultiBinding e vengono utilizzati come valori predefiniti per tutte le associazioni nella raccolta a meno che per una singola associazione venga eseguito l'override di queste proprietà. Ad esempio, se Mode proprietà di MultiBinding l'oggetto è impostato su TwoWay, quindi tutte le associazioni della raccolta sono considerate TwoWay a meno che non si imposti un diverso Mode valore su una delle associazioni in modo esplicito. Per ulteriori informazioni, vedere le proprietà Binding.Mode e Binding.UpdateSourceTrigger.

MultiBinding sono attualmente supportate solo gli oggetti di tipo Binding e non MultiBinding o PriorityBinding.

La classe MultiBinding consente di associare una proprietà di destinazione dell'associazione a un elenco di proprietà di origine e di applicare quindi una logica per produrre un valore con gli input specificati. In questo esempio viene mostrato come utilizzare la classe MultiBinding.

Nell'esempio riportato di seguito, l'elemento NameListData fa riferimento a una raccolta di oggetti PersonName, che contengono due proprietà, firstName e lastName. Nell'esempio seguente viene generato un oggetto TextBlock in cui sono mostrati, nell'ordine, il cognome e il nome di una persona.


<Window
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:c="clr-namespace:SDKSample"
  x:Class="SDKSample.Window1"
  Width="400"
  Height="280"
  Title="MultiBinding Sample">
	
  <Window.Resources>
    <c:NameList x:Key="NameListData"/>
    <c:NameConverter x:Key="myNameConverter"/>


...


</Window.Resources>


...


<TextBlock Name="textBox2" DataContext="{StaticResource NameListData}">
  <TextBlock.Text>
    <MultiBinding Converter="{StaticResource myNameConverter}"
                  ConverterParameter="FormatLastFirst">
      <Binding Path="FirstName"/>
      <Binding Path="LastName"/>
    </MultiBinding>
  </TextBlock.Text>
</TextBlock>


...


</Window>


Per comprendere il modo in cui viene generato il formato cognome-nome, è necessario esaminare l'implementazione di NameConverter:


public class NameConverter : IMultiValueConverter
{
    public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
    {
        string name;

        switch ((string)parameter)
        {
            case "FormatLastFirst":
                name = values[1] + ", " + values[0];
                break;
            case "FormatNormal":
            default:
                name = values[0] + " " + values[1];
                break;
        }

        return name;
    }

    public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
    {
        string[] splitValues = ((string)value).Split(' ');
        return splitValues;
    }
}


L'oggetto NameConverter implementa l'interfaccia IMultiValueConverter. NameConverter accetta i valori delle singole associazioni e li archivia nella matrice di oggetti valori. L'ordine in cui gli elementi Binding vengono visualizzati nell'elemento MultiBinding corrisponde all'ordine in cui tali valori sono archiviati nella matrice. Per fare riferimento al valore dell'attributo ConverterParameter si utilizza l'argomento di parametro del metodo Converter, che esegue una modifica del parametro per determinare la modalità di formattazione del nome.

.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
Mostra:
© 2014 Microsoft