none
Error en silverlight RRS feed

  • Pregunta

  • En primer lugar disculparme si esta cuestión no está correctamente ubicada en el foro pero aún no hay un espacio para Silverlight.
    Bien, la cuestión es que tengo el tipico fragmento de código para añadir elementos visuales a un stack panel en tiempo de ejecución:
    void CargarBotones()  
            {  
                this.ContenedorBotones.Children.Clear();  
                foreach (var b in ListaBotones)  
                {  
                    this.ContenedorBotones.Children.Add(b);  
                }  
            } 
    la clausula foreach recorre una List<Boton> que en tiempo de ejecución puede variar. Cuando en el contenedor padre se cambia la lista declarada como propiedad, se llama a este metodo que en su primera iteración funciona bien, como siempre me ha funcionado, pero de la segunda en adelante me lanza una excepción de tipo Argument exception con el siguiente mensaje: El valor no está dentro del intervalo esperado.

    Seguramente se trate de alguna "tontá", pero este proceso tan sencillo que desde la 1.1 he desarrollado de la misma forma, ayer me hizo perder dos horas y pico con el maldito error.

    Muchas gracias a todos los participantes del foro por vuestra atención.

    El tema era que expression blend autonombra al control de usuario con "x:name="usercontrol" por lo que los elementos "enlistados" que tenía se llamaban igual por lo que, evidentemente, saltaba el error. Gracias por tu respuesta Leandro
    • Editado aydevosotros miércoles, 25 de febrero de 2009 20:56
    miércoles, 25 de febrero de 2009 8:05

Respuestas

  • Hola,

    Has probado buscar informacion del error pero en ingles.

    yo utilice el software babylon para traducir el mensaje de error que seria algo asi: "Value does not fall within the expected range"
    Creo que es este el mensaje que estas teniendo.


    Puede encontrar algunas explicaciones:

    Como por ejemplo esta:
    The exception with the message: "Value does not fall within the expected range" is thrown, if names of the objects are not unique. When two objects have the same name (if they have a name) inside the same Panel, Silverlight throws this very self-explanatory exception.

    La cual obtuve de este link: Professional Drag and Drop Manager Control for Silverlight 2


    Tambien pueden darte una idea estos otros links:

    http://silverlight.net/forums/t/22916.aspx
    https://silverlight.net/forums/t/31071.aspx

    Segun veo en estos link, sugieren dos cosas:

    - la forma en que recuperas el objeto al cual le estas agregando lo items, utilizando el Content
    - la otra es mediente un remove del objeto de origen, ya que parece ser el Clear(), no se si alcanza.

    fijate donde hace un:

    parent.Children.Remove(cbOrigin);
    parent.Children.Add(newComboBox);

    esto creo que es para evitar generar dos objetos con el mismo id, o al menos eso entiendo

    bueno espero sirva la info
    Saludos


    Leandro Tuttini
    • Marcado como respuesta aydevosotros miércoles, 25 de febrero de 2009 20:57
    miércoles, 25 de febrero de 2009 13:15