none
Colocar Valor en un textbox en Silverlight con patron MVVM RRS feed

  • Pregunta

  • Hola

    Se tiene que colocar el valor del Tasa del Dólar en un Textbox que esta en un ChildWindow silverlight el XAML esta asi:

              <TextBox Name="TCRM" Grid.Row="11" Grid.Column="1"
                       Width="100" Height="18" 
                       HorizontalAlignment="Left" 
                       VerticalAlignment="Center" 
                       helpers:TextFilterService.TextBoxFilter="Money" 
                       FlowDirection="RightToLeft" MaxLength="4" 
                       Margin="10,2,0,1" IsEnabled="{Binding ElementName=cbAgregarManual, Path=IsChecked}"
                       Text="{Binding Path=EnviarValorDolar, ValidatesOnNotifyDataErrors=True, ValidatesOnExceptions=True, Mode=TwoWay}" />
               

    enviarValorDolar se tiene en el viewModel

            private IndicadorTO _enviarValorDolar;
    
            public IndicadorTO EnviarValorDolar
            {
                get
                {
                    return _enviarValorDolar;
                }
                set
                {
                    if (value != _enviarValorDolar)
                    {
                        this.RaisePropertyChanged(() => this.EnviarValorDolar);
                    }
                }
            }
            #endr


    el objeto TO (indicadorTO) se encuentra de esta forma:

        public class IndicadorTO
        {
            /// <summary>
            /// Identifica el Tipo de Indicador, si es IPP o PPI.
            /// </summary>
            public TipoIndicador Tipo { get; set; }
    
            /// <summary>
            /// Fecha para la cual se obtiene el valor del Indicador.
            /// </summary>
            public DateTime Fecha { get; set; }
    
            /// <summary>
            /// Valor del Indicador.
            /// </summary>
            public decimal Valor { get; set; }
    
        }//end IndicadorTO

    Se tiene de la capa de servicios y del dominio el llamado de el método que realiza una consulta a una bd de oracle

    /// servicio
    
            public IndicadorTO EnviarTCRM(DateTime mesCalculo)
            {
                return servicio.EnviarTCRM(mesCalculo);
            }
    
    /// dominio        
    public IndicadorTO EnviarTCRM(DateTime mesCalculo)
            {
                IndicadorTO tcrm;
                if (mesCalculo != DateTime.MinValue)//&& !mesCalculo.HasValue
                {
                    tcrm = ObtenerTCRM(ObtenerUltimoDiaHabil(mesCalculo));
                    DateTime fechaFin = ObtenerUltimoDiaHabil(mesCalculo.AddMonths(-1));
                    tcrm = ObtenerTCRM(fechaFin);
                }
                else
                {
                    tcrm = null;
                }
                return tcrm;
            }


    y que debe devolver el objeto TO (el de arriba) y mostrarse en la vista para luego a su vez tener el valor de este campo y realizar el campo pero inicialmente se debe mostrar la TCRM en la vista.

    MvvM es algo confuso, realice estos pasos que indique pero no he podido  realizar que me muestre el dato en el campo TCRM que mas falta para que muestre TCRM en la vista?

    miércoles, 8 de enero de 2020 15:27

Respuestas

  • hola

    Si la view se bindea a una class viewmodel y tienes una propiedad que usa otra clase quizas debas usar

     Text="{Binding Path=EnviarValorDolar.Valor, ValidatesOnNotifyDataErrors=True, ValidatesOnExceptions=True, Mode=TwoWay}"

    ya que la propiedad seria la que expone el viewmodel, pero Valor es la del objeto del tipo de la propiedad

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta greg_dorian miércoles, 8 de enero de 2020 22:14
    miércoles, 8 de enero de 2020 15:33