Oppure

Loading
28/09/12 16:16
Sevenjeak
Non saprei in che altro modo intitolare questa discussione, ma vi spiego subito il mio problema.

Nella mai window principale ho un controllo TreeView impostato tutto da file xaml in questo modo:

<TreeView name="treeview1" ..>
   <TreeViewItem name="main">
   </TreeViewItem>   
</TreeView>


Ed un pulsante che mi apre un'altra window, dove all'interno c'è un pulsante che mi dovrebbe aggiungere un'elemento all'interno del nodo main ( non so se mi spiego ), ora non ricordo con precisione come fare ciò, ma se non sbaglio, quando dovevo fare ciò in un'applicazione windowForm facevo cosi, se ricordo bene:

My.Windows.nome_window.main.items.add("valore_item")


Ho provato a fare questo anche nell'applicazione wpf, ma niente, non funziona, non so se avete capito il mio problema, ma come potrei risolvere?
aaa
29/09/12 8:46
HeDo

ti assicuro che c'è un modo per farlo così, ma non te lo dirò :)
invece ti vorrei invitare ad usare un approcio più elegante alla risoluzione di questo problema.
quando si programma in WPF (o SL) è davvero proficuo utilizzare un pattern di sviluppo chiamato MVVM en.wikipedia.org/wiki/…

questo pattern ti consente di lasciare vuoto il code behind della view e ti permette di scrivere del codice elegante e testabile nel viewmodel (logica di presentazione).

è assolutamente d'obbligo utilizzare un toolkit di sviluppo come ad esempio mvvmlight mvvmlight.codeplex.com/ che contiene tutta una serie di utility per semplificare lo sviluppo con questo pattern.

detto questo, come risolvere il tuo problema?

prima di indirizzarti dalla parte giusta ti consiglio di studiarti quanto sopra aggiungendoci anche l'IOC en.wikipedia.org/wiki/… e in particolare il pattern ServiceLocator stefanoricciardi.com/2009/09/25/service-locator-pattern-in-csharpa-simple-example/

ecco qui la soluzione al tuo problema:

codeproject.com/Articles/36745/…
aaa
29/09/12 9:56
Sevenjeak
Bhe.. a dire la verità il Modello MVVM avevo già iniziato a vedermelo, ma non sarei del tutto convinto, mi conviene utilizzarlo, visto che per ora, e credo solamente per questo problema, avrei bisogni di questo modello, in ogni caso vedo i link da te postati.
aaa