Pregunta

Tengo dos cuadros de texto, uno para un campo de dirección de facturación y uno para un campo de dirección de envío. Cuando el usuario escribe algo en el texto de la dirección de facturación de la caja del cuadro de texto dirección de envío obtiene el mismo valor debido a lo siguiente escenario de unión:

<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>

Esto funciona bien hasta cierto punto. También quiero la dirección de envío en obligarse a mi entidad de base de datos como la dirección de facturación es. Mi problema es que mientras que el cuadro de texto dirección de envío se llena con lo que está escrito en la dirección de facturación, el método ConvertBack no se dispara mientras esto sucede. Sólo se dispara si algo se escribe directamente en el cuadro de texto dirección de envío.

¿Qué me falta?

¿Fue útil?

Solución

Tal vez esto sería más fácil de implementar en su modelo de vista?

public string BillingAddress{
    set{
        billingAddress = value;
        firePropertyChanged("BillingAddress");
        if(string.isNullOrEmpty(ShippingAddress)
        {
            ShippingAddress = value; //use the property to ensure PropertyChanged fires
        }
    }
    get{ return billingAddress; }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top