none
MVVM WPF XAML Binding Color RRS feed

  • Pregunta

  • Buenos Dias Tengo un objeto rectangle que maneja un color de fondo pero lo quiero hacer binding desde mi viewmodel

    este es el codigo xaml

    <Rectangle>
                <Rectangle.Fill>
                    <SolidColorBrush Color="{Binding BackGroundEmployeeCard}"/>
                </Rectangle.Fill>
            </Rectangle>

    al presionar F12 sobre BackGroundEmployeeCard si me lleva al la propiedad en el viewModel por eso creo que esta bien enlazado el viewModel

    ahora muesto el viewModel

    public Color BackGroundEmployeeCard
            {
                get
                {
                    this.backgroundEmployeeCard = this.GetBackgroundEmployeeCard(this.HaveAssistence, this.HasTitular);
                    base.RaisePropertyChanged("BackGroundEmployeeCard");
                    return this.backgroundEmployeeCard;
                }
            }
           
            //Constructor
            public ViewModelEmployeeCard()
            {
                this.employeeCard = new EmployeeCard();
                this.employeeCard.Specialities = new List<Speciality>();
            }
    
            private Color GetBackgroundEmployeeCard(bool haveAssistence, bool hasTitular)
            {
                Color backgroundEmployeeCard = new Color();
    
                if (haveAssistence == true && hasTitular == true)
                {
                    backgroundEmployeeCard = new Color() { A = 255, R = 127, G = 186, B = 0 };
                }
                else
                {
    
                    if (haveAssistence == false && hasTitular == true)
                    {
                        backgroundEmployeeCard = new Color() { A = 255, R = 229, G = 56, B = 42 };
                    }
                    else
                    {
                        if (haveAssistence == false && hasTitular == false)
                        {
                            backgroundEmployeeCard = new Color() { A = 255, R = 0, G = 0, B = 0 };
                        }
                        else
                        {
                            if (haveAssistence == true && hasTitular == false)
                            {
                                backgroundEmployeeCard = new Color() { A = 255, R = 255, G = 185, B = 0 };
                            }
                        }
                    }
                }
                return backgroundEmployeeCard;
            }
        }

    Se maneja un contructor, la propiedad BackGroundEmployeeCard que llama al metodo GetBackGroundEmployeeCard 

    pero el resultado es que no pinta el color en ningún caso

    miércoles, 20 de marzo de 2019 16:20

Todas las respuestas

  • Hola  

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, te comento que estaremos realizando una revisión a profundidad acerca del inconveniente que se te está presentando.

    Proporcionaremos una respuesta lo más pronto posible.

    Gracias por usar los foros de MSDN.

    Carlos Ruiz
     ____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.
    jueves, 21 de marzo de 2019 18:00