none
Como hacer un Dispose en un UserControl de WPF RRS feed

Todas las respuestas

  • ¿Qué tipo de recursos específicamente?

    Jose R. MCP
    Code Samples

    miércoles, 20 de abril de 2016 13:49
  • Quiero hacer un equivalente a un Dispose que hay en Winforms.

    miércoles, 20 de abril de 2016 14:12
  • Los UserControl de WPF no implementan IDisposable, pero nada le impide a usted crear una clase que herede de UserControl y que implemente IDisposable.

    Jose R. MCP
    Code Samples

    miércoles, 20 de abril de 2016 14:40
  • Me puede facilitar alguna ejemplo de como hacerlo?
    miércoles, 20 de abril de 2016 14:51
  • Simplemente agregue un UserControl al proyecto, presione F7 para ir al code-behind y luego agregue la interfaz IDisposable.

        public partial class UserControl1 : UserControl, IDisposable
        {
            public UserControl1()
            {
                InitializeComponent();
            }
    
            public void Dispose()
            {
                throw new NotImplementedException();
            }
        }
    

    Se verá algo así en su forma más básica.  Es igual que implementar cualquier interfaz.  Eso sí, no hay lógica en WPF que llame a Dispose() porque en WPF los controles no implementan IDisposable bajo situaciones normales.  Quedará en usted hacer el llamado a Dispose().


    Jose R. MCP
    Code Samples

    miércoles, 20 de abril de 2016 15:13
  • La implementación ya se como hacerla, la duda es como destruir los controles de dentro. Tengo un grid y varios textbox que reutilizo en varias ventanas.

    Lo que quiero es destruir el grid y el resto de texbox para que no consuman memoria

    miércoles, 20 de abril de 2016 15:42
  • Esos objetos están sujetos a Garbage Collection al igual que los demás.  Si quiere apresurar el limpiado de memoria debe aprender acerca de Garbage Collection.  Lo más simple es solicitar al GC que recolecte todas las generaciones usando GC.Collect().  Puede leer un poquito de esto aquí.

    Jose R. MCP
    Code Samples

    miércoles, 20 de abril de 2016 15:46