2009-09-07 7 views
8

Ecco un piccolo frammento XAML. VedretePerché l'associazione dati si interrompe in modalità OneWay?

<StackPanel> 
    <TextBox x:Name="txtValue">250</TextBox> 
    <Slider x:Name="slide" 
      Value="{Binding ElementName=txtValue, Path=Text, 
          Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" 
      Minimum="0" Maximum="500"></Slider> 
</StackPanel> 
  1. quando si modifica il valore casella di testo, gli aggiornamenti cursore
  2. Se si modifica il valore di scorrimento in modo esplicito, il comportamento precedente rompe fermate note anche come lavoro.

Se rimuovo la direttiva set , (il valore predefinito è bidirezionale) tutto funziona perfettamente.

Perché sta succedendo?

risposta

3

I Suoi dati vincolante non è rotto, ma disattivati ​​(http://en.wikipedia.org/wiki/Euphemism):

System.Windows.Data Warning: 75 : BindingExpression (hash=52697953): Deactivate 
System.Windows.Data Warning: 99 : BindingExpression (hash=52697953): Replace item at level 0 with {NullDataItem} 
System.Windows.Data Warning: 59 : BindingExpression (hash=52697953): Detach 

Impostare il livello di traccia per alta produrrà questo messaggio nella finestra di output VS nel caso in cui si sposta il cursore:

<Slider xmlns:trace="clr-namespace:System.Diagnostics;assembly=WindowsBase" 
     Value="{Binding trace:PresentationTraceSources.TraceLevel=High, 
      ElementName=txtValue, Path=Text, Mode=OneWay, 
      UpdateSourceTrigger=PropertyChanged}" 
     Minimum="0" Maximum="500"></Slider> 
+5

Perché si distacca? Questo tipo di sconfiggere lo scopo del legame unidirezionale se si fa qualcosa come spostare il pollice sul controllo rilegato disattiva o sgancia il legame. Per rottura, intendevo che il comportamento previsto non è più visto. – Gishu

+0

Questo è il modo in cui è implementato :-( Se non soddisfa le tue esigenze non utilizzare l'associazione dati WPF –

12

Utilizzare mode=TwoWay e impostare UpdateSourceTrigger=Explicit.

+7

Questo funziona ... ma non spiega nessuno dei motivi. – Beska

Problemi correlati