Frage

Ich habe zwei Textfelder, eines für eine Rechnungsadresse Feld und einen für eine Lieferadresse Feld. Wenn der Benutzer tippt etwas in die die Rechnungsadresse Text, die Lieferadresse Textfeld Feld erhält den gleichen Wert aufgrund des folgenden Bindungsszenario:

<TextBox Name="txtBillingAddress" Text="{Binding BillingAddress, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />

<TextBox Name="txtShippingAddress">
   <TextBox.Text>
      <MultiBinding Converter="{StaticResource AddressConverter}">
         <Binding ElementName="txtBillingAddress" Path="Text" Mode="OneWay" />
         <Binding Path="ShippingAddress" UpdateSourceTrigger="PropertyChanged" Mode="TwoWay" />
      </MultiBinding>
   </TextBox.Text>
</TextBox>

Dies funktioniert bis zu einem gewissen Punkt. Ich möchte auch die Lieferadresse zu meiner Datenbank Einheit gebunden zu sein als die Rechnungsadresse ist. Mein Problem ist, dass, während die Lieferadresse Textfeld mit wird aufgefüllt, was in der Rechnungsadresse eingegeben wird, wird die ConvertBack Methode nicht gebrannt, während dies geschieht. Es wird nur gestartet, wenn etwas direkt in die Lieferadresse Textfeld eingegeben wird.

Was bin ich fehlt?

War es hilfreich?

Lösung

Vielleicht wäre dies einfacher sein, in Ihrem Ansichtsmodell zu implementieren?

public string BillingAddress{
    set{
        billingAddress = value;
        firePropertyChanged("BillingAddress");
        if(string.isNullOrEmpty(ShippingAddress)
        {
            ShippingAddress = value; //use the property to ensure PropertyChanged fires
        }
    }
    get{ return billingAddress; }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top