none
Vita di una Windows.Xaml RRS feed

  • Domanda

  • Nel portare avanti un'applicazione WPF mi sono accorto che le mie windows.xaml in realta non muoiono quando le chiudo.
    Mi sono accorto perche quando registro in una windows la PropertyMetadata per il language alla sua riapertura mi dice che è gia registrato per il tipo di FrameworkElement.
    Altro caso una windows chiusa alla sua riapertura si comporta in modo diverso dalla precedente.
    Se chiudo l'applicazione e la riapro tutto va normalmente.

    Questo mi fa pensare che sbaglio qualcosa sopratutto perchè fino adesso ero convinto che una classe Windows.Xaml una volta chiusa fosse morta.

    Michele B.

    Dim fin As New FrmGriglia
    
            fin.ShowDialog()
    
    
    Inoltre una variabile al secondo passaggio contiene già un valore che è quello precedente, Perche ?? Chiudendo la Windows.Xaml non ho scaricato tutto ??
    martedì 15 settembre 2009 07:25

Risposte

  • Le varie istanze di Windows vengono scaricate quando non ci sono riferimenti che la tengono in vita e il garbage collector decide che è giunta l'ora di fare pulizia, se ciò non accade è probabile che sia qualcosa nel tuo codice che non funziona.


    Corrado Cavalli [Microsoft .NET MVP-MCP]
    UGIdotNET - http://www.ugidotnet.org
    Weblog: http://blogs.ugidotnet.org/corrado/
    Twitter: http://twitter.com/corcav
    • Contrassegnato come risposta Michele B. _ martedì 15 settembre 2009 12:36
    martedì 15 settembre 2009 10:05
    Moderatore

Tutte le risposte

  • Le varie istanze di Windows vengono scaricate quando non ci sono riferimenti che la tengono in vita e il garbage collector decide che è giunta l'ora di fare pulizia, se ciò non accade è probabile che sia qualcosa nel tuo codice che non funziona.


    Corrado Cavalli [Microsoft .NET MVP-MCP]
    UGIdotNET - http://www.ugidotnet.org
    Weblog: http://blogs.ugidotnet.org/corrado/
    Twitter: http://twitter.com/corcav
    • Contrassegnato come risposta Michele B. _ martedì 15 settembre 2009 12:36
    martedì 15 settembre 2009 10:05
    Moderatore
  • Le varie istanze di Windows vengono scaricate quando non ci sono riferimenti che la tengono in vita e il garbage collector decide che è giunta l'ora di fare pulizia, se ciò non accade è probabile che sia qualcosa nel tuo codice che non funziona.


    Corrado Cavalli [Microsoft .NET MVP-MCP]
    UGIdotNET - http://www.ugidotnet.org
    Weblog: http://blogs.ugidotnet.org/corrado/
    Twitter: http://twitter.com/corcav

    La tua osservazione mi ha fatto riflettere e ho risolto.
    In effetti per mia pigrizia uso purtroppo alcune funzioni pubbliche all'interno di un modulo che mi restituiscono attraverso dei TableAdaptor pubblici dei dati del dataset.
    Queste funzioni probabilmente disturbano e riscrivendo in modo "convenzionale" connessioni, caricamento e chiusura dati direttamente all'interno del form tutto funziona correttamente.

    Grazie Corrado
    Michele B.
    martedì 15 settembre 2009 12:43