none
2 dudas: guardar la config. de aplicación? agregar propiedades a un dibujo de Blend? RRS feed

  • Pregunta

  • Estoy haciendo una aplicación de WPF, en la que deseo que haya un objeto que se puede mover de lugar a otro por la pantalla (eso ya está listo), pero quisiera que al cerrar el programa, éste guarde la posición en que se dejó el objeto. Y no se donde guardar esa información, porque usar una base de datos seguramente no es la opción correcta jeje.

    Y la otra duda:
    Ese objeto que se mueve por la pantalla, es un dibujo hecho en expression blend, pero el problema que tengo es que quisiera que ese objeto tuviera alguna otras propiedades en su clase, digamos que quisiera que tenga una propiedad booleana para saber si debe hacer un sonido o no, pero no se me ocurre como hacerlo, en qué lugar debo agregar la herencia y a qué clase?, espero me puedan ayudar un poco.

    De antemano gracias.
    jueves, 26 de marzo de 2009 1:59

Todas las respuestas

  • hola,

    se me ocurre que la serializacion a xml de tus objetos podria ayudarte a persistir

    XML Serialization in .NET


    Generic XML Serialization in C#

    Load and save objects to XML using serialization

    con esto podras guardar y recuperar facilmente el estado de tu objeto, por supuesto a este le tendras que agregar las coordenadas para su posicionamiento.


    La verdad no tengo mucha experiencia con respecto a WPF, pero algo en teoria conozco.
    Con respecto a tu objeto de blend, se que este esta armado en base a XAML, o sea es xml, creo que deberia buscar la forma de utilizar o tranformar ese diagrama XAML en objetos, tal como harias cuando desarrollas un custom control, y debes armar y posicionar todo a mano con las clases del namespace, creo que en este caso deberias hacer igual.

    Por supeusto si logras esto, podras crear una clase tuya que herede de la que confecciona tu dibujo en blend, y agregar las propeidades alli.

    Espero te sea de utlidad
    Saludos



    Leandro Tuttini
    jueves, 26 de marzo de 2009 15:59
  • hola,

    se me ocurre que la serializacion a xml de tus objetos podria ayudarte a persistir

    XML Serialization in .NET


    Generic XML Serialization in C#

    Load and save objects to XML using serialization

    con esto podras guardar y recuperar facilmente el estado de tu objeto, por supuesto a este le tendras que agregar las coordenadas para su posicionamiento.


    La verdad no tengo mucha experiencia con respecto a WPF, pero algo en teoria conozco.
    Con respecto a tu objeto de blend, se que este esta armado en base a XAML, o sea es xml, creo que deberia buscar la forma de utilizar o tranformar ese diagrama XAML en objetos, tal como harias cuando desarrollas un custom control, y debes armar y posicionar todo a mano con las clases del namespace, creo que en este caso deberias hacer igual.

    Por supeusto si logras esto, podras crear una clase tuya que herede de la que confecciona tu dibujo en blend, y agregar las propeidades alli.

    Espero te sea de utlidad
    Saludos



    Leandro Tuttini
    Como Leandro te comenta, utilizar la serialización es la mejor opción, dado que lo que haces es generar un archico XML en tu equipo para luego ser deserializado (cuando vuelves a abrir tu aplicación) y este sea manipulado como un objeto.

    Es sencillo:

    Generas tu clase la que contendrá las coordenadas:
    [Serializable]
    public class MyClase
    {
    ... 
    }
    Luego manipulas tu clase para que contenga los datos deseados. En el metodo salir agregas lo siguiente:
    XmlSerializer s = new XmlSerializer(typeof(MiClase));
    FileStream stream = new FileStream(@"c:\items.xml", FileMode.Create);
    s.Serialize(stream, myobject);
    Saludos y suerte!
    Profesionista Microsoft VIP México World Wide Finalist Imagine Cup 2007 C#, WPF, WCF
    martes, 21 de abril de 2009 4:48