Newsgroup: it.comp.lang.visual-basic
Titolo: BLEND e WPF

Ho avuto modo di aver accesso ad una macchina con Expression Studio
4 ...e quindi con BLEND 4
Panico totale!.....qui non bastano 6 mesi per capire come sono
disposti i tasti figuriamoci per capire cosa fanno!
...ci sono tasti e pannelli dappertutto!!!!
...se potevano incasinare un sw...ecco fatto!
Photoshop a confronto è un sw spartano e con l'interfaccia
"monastica"!
Detto questo leggendo e spippolando a caso ho capito:
con Blend ci faccio una interfaccia in XAML
declinata in WPF o in Silverlight o lasciata in xaml
Bene.....
io vorrei allora farmi la mia interfaccia con Blend!
Poniamo che mi voglia fare il classico form splash:
Logo
Nome utente
Password
pulsante "accedi"
pulsante "abbandona"
....alla fine mi fà una applicazione wpf (in C#o Vb.net)
MA
come la aggancio al resto del mio programma???
Mi va bene che sia una app svincolata (nell'ottica
Interfaccia...svincolata da tutto)
ma alle 2 o 3 classettine in croce che chiedono i dati al server e si
costruiscono la lista di oggetti di risposta....come faccio a
comunicare all'applicazione WPF di blend di visualizzare questi
dati???
Che casino!
Mamma mia che sw incasinato!
(Guida passo passo in italiano si trovano?)
Thanks

 dati???
Model View ViewModel is the word :-)
Ci sono due modi per scrivere applicazioni Wpf/Silverlight/WP7:
- Utilizzando un approccio alla vecchia, quindi in stile Windows 
Forms... equivale a piangere in cinese alla lunga;
- Utilizzando Model View ViewModel che ha una curva di apprendimento 
ripida perchè ripida è la curva di apprendimento di Wpf (purtroppo);
.m
-- 
Mauro Servienti
{C67C0157-5D98-4733-A75E-93CAEE4BADC8}
Microsoft MVP - Visual C# / MCTS
http://mvp.support.microsoft.com
blog @ 
http://milestone.topics.it
whynot [ at ] topics [ dot ] it

Wodka40[Google] formulated on sabato :

Ti capisco, anche io anni fa ho avuto la stessa impressione, ti posso 
dire però che ora non ne posso più fare a meno.
Come già ti ha detto Mauro, pewr sfruttare aòl meglio Blend devi usare 
il pattern Model-View-Viewmodel. Sul sito di Microsoft Expression ci 
sono parecchi tutotial, <spot> altrimenti vieni ai TechDays WPC dove 
faccio una sessione proprio su Blend </spot> :)


wrote:
model view.....
allora...sarà che oramai le vene sono indurite....ma è qualche mese
che ci provo e mi manca sempre qualcosa....ho scaricato tonnellate di
articoli...seguito passo passo blog....ma niente non mi entra in
testa!
L'esempio funziona ma poi nel caso concreto no!
Quindi ....visto che ho fatto ridere Mauro....mò mi spiega in
"niubbese" dove cavolo scazzo!
Poniamo il caso
PC con mysql
Tabella Anagrafica
campi: ragSoc Indirizzo PIVA
Programma che risiede in un altro pc: legge un dato e cambia
l'indirizzo
In Vb6 mi connettevo...scaricavo il recordset...facevo le
modifiche...batchUpdate e mi risolvevo eventuali conflitti con altri
utenti.
Oppure al massimo della sofisticazione acccogliendo anni di
diatribe...invocavo una stored che pensava lei a settare semafori
risolvere conflitti e quant'altro di ameno lo specifico DB richiedeva
in .Net?
io ho capito e fino ad un certo punto ho anche implementato
Sul pc del database
programma che tramite WPF accetta le richieste "Anagrafica"
invoca una interfaccia generica "LeggiTabellaSQL"
che legge un plugin specifico per il db usato
tramite quello costruisce connection string e Sql
interroga il db
si fa rendere una datatable (sono abituato ai recordset!!!...) con i
record giusti
(ho provato a cambiare al volo da mysql ad access...e sarà un caso?
non scoppia nulla!!! e tutto funziona!)
E MO'?
Io penso dovrei rendere questa datatable al client
il quale dovrebbe avere una GUI specifica che prende la mia datatable
e mostra i dati.
Ma una volta proprio tu , Mauro, mi hai detto che la gui NON deve
sapere nulla di quello che stà a monte. Ma allora come fà a mostrare i
dati o a validare l'input (non voglio che mi scriva Pippo al posto
della data!) se non sà nulla di quello che stà a monte???
Precisazioni:
-)Non mi rispondete ORM!....prima di guidare una ferrari bisogna avere
la patente!
Voglio capire bene tutto stò "svincolamento" di strati.
-) Uso WPF....in teoria....mi serve in un caso particolare
centralizzare le richieste perchè hanno il database su un pc ed hanno
chiesto di accedere anche via web da casa! Inoltre hanno Access...e un
XPpro! (per questo dico la teoria è una cosa la pratica un altra...e
le variabili sono infinite!)
....potrei incapsulare lo strato che chiede al db dentro il client e
fare a meno del wpf
Ovvio che
Grazie!
p.s.
Per sdebitarmi (vediamo se vi faccio ridere un altro po... PERO' sono
parecchio lunghi eh!!!)
riso grottesco
Antico manoscritto catalogante le "puzzette"
http://www.martek.it/dblog/articolo.asp?articolo=86
riso amaro
La cronoca della nascita della mia secondogenita
http://www.martek.it/dblog/articolo.asp?articolo=104
Il Wodkino nazionale che prova a partecipare ad un concorso pubblico
http://www.martek.it/dblog/articolo.asp?articolo=118

 le variabili sono infinite!)
Ah, questo interessa anche a me, ma credo a tutti.
Se c'� un modo piu semplice di quello descritto da Moreno Sirri nel 2001 (� 
sul sito comune: DB Remoto) � il benvenuto, anche se mi sembra che quallo 
che tu hai appena descritto sopra sia piu complicato del problema dei 
riufiuti a Napoli :(
-- 
Greg 

 
http://www.martek.it/dblog/articolo.asp?articolo=118
mi armo di tempo e leggo :-P


 Ciao Wodka40[Google],
si wcf...la domenica non sono molto lucido!
Wcf mi sostitusce quello che un tempo con vb6 facevo con il winsock.
L'arzigogolamento deriva dal fatto di avere access (che notoriamente è
il massimo come db client/server!!!!....[ovvio che scherzo!...prima
che qualcuno ci creda!]) su una macchina e doverlo trattare come
"server".
perchè uno dei "cari" professionisti che useranno la banalissima
applicazione vorrebbe vedere alcuni recordset(continuo a chiamrli
così...sigh!) anche da casa...via internet...(e si sà che anche qui
access fornisce quintali di possibilità! ...) .
Ma via server web non c'è nulla (altrimenti un po di pagine 
asp.net
 e
via risolto).
Insomma soliti casini toscani di aree depresse!!!

 riufiuti a Napoli :(
zac
Beh insomma....
con questo sistema le mie prove hanno avuto questo effetto:
Scrivo una Winform
lancio l'applicazione
schiaccio un pulsante.....mi mostra la winform...riempio i
dati...clicco su salva...mi salva il record!
Embè e allora?...non fa così anche la mia app senza tanti patemi????
Beh si ...ma se tu invece che access hai mysql...io entro in un
pannello amministrativo flaggo una option e dal prossimo lancio
dell'app usi mysql...con tutte le ottimizzazioni di mysql perchè il
plugin di mysql tratta la generica richiesta "TabClienti WHERE etc
etc" in una specifica richiesta mysql ...per dire...in access no
perchè non ci sono.....in mysql potrebbe invocare una stored!
Quello che mi manca è:
a) capire bene come SVINCOLARE completamente l'interfaccia per
cambiarla come voglio: monitor HD, monitor 14", monitor netbook,
smartphone, monitor lcd bianco nero
b) Svincolare completamente il db dal pc dove gira il core
business....ho capito che devo usare wcf...ho fatto delle prove....ma
ancora sono lontano da fare una cosa pratica!
p.s.
Un db access condiviso in rete va bene ...fino a quando tutto è
perfettamente semplice!
Avrai avuto anche tu l'esperienza di connessioni di rete che esplora
risorse mostra come "vive" ma in realtà sono solo zombie!
O l'esperienza di un utente che blocca una pagina per una modifica di
un ordine...e nel bel mezzo rovescia il caffè sulla tastiera o se ne
và al bar...o ancora peggio la tua applicazione entra in loop.
In vb6 la mia soluzione era di fare a meno di utenti , condivisioni e
amenità di access....
era quella di trasformarlo con winsock in un mini db client/server.
Con la mia app che dirimeva le richieste, eseguiva sql, ritornava
dati.
Tutto fatto come utente singolo (il solito admin) in accesso
esclusivo...così le palle del db stavano a zero!...un incubo....ma chi
non voleva msde e pagava.....perchè non accontentarlo?

 Insomma soliti casini toscani di aree depresse!!!
WCF è sicuramente la soluzione, ma tutta l'applicazione deve essere 
pensata per avere a che fare con WCF, non è proprio così semplice 
infilarlo in mezzo ad un'applicazione esistente.
