WPF e Silverlight
Corso formativo su WPF e Silverlight
Quando si apre una nuova childwindow si può scegliere di aprirla a dimensione fissa, oppure di dimensionarla in base alla dimensione attuale del browser. Questo il codice : childWindow.Width = ((AppTest.MainPage)(((Activity)App.Current.RootVisual).Content)).ContentFrame.ActualWidth;
childWindow.Height = ((AppTest.MainPage)(((Activity)App.Current.RootVisual).Content)).ContentFrame.ActualHeight;
Per chi non lo sapesse SharpDevelop è un IDE Free per c#.
Pochi giorni fa è stata rilasciata la nuova beta della versione 4.0
Oltre ad essere un buon ide, interessante sono i codici sorgenti, da cui prendere spunto.
http://www.icsharpcode.net/
Volevo mettervi in guardia… <ComboBox HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" ItemsSource="{Binding Lista, Mode=OneWay}" SelectedItem="{Binding ElementoSelezionato, Mode=TwoWay}"/> è differente da questo: <ComboBox HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" SelectedItem="{Binding ElementoSelezionato, Mode=TwoWay}" ItemsSource="{Binding Lista, Mode=OneWay}"/> Il primo va decisamente meglio rispetto al secondo!
Non so se avete mai provato, ma creando una listbox e successivamente avete provato a customizzare l’item template, avrete certamente notato che l’item non effettua lo stretch a riempimento rispetto alla listbox.
Il trucco? Customizzare anche lo style:
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
</Style>
</ListBox.ItemContainerStyle>
Innanzitutto cos’è silverlight?
Silverlight è una tecnologia creata per gli sviluppatori web e che permette di creare e pubblicare online contenuti interattivi e applicazioni di grafica 2D, audio, video, animazioni vettoriali e giochi.
Rispetto a Flash, Microsoft Silverlight crea contenuti facilmente indicizzabili dai motori di ricerca e supporta nativamente lo standard HD (video in alta definizione) e il DRM.
Ultima cosa, importantissima: per scrivere un applicativo silverlight si deve conoscere XAML!!!!!!
Per scrivere un’applicazione silverlight occorre:
• Windows &...
Come abbiamo visto WCF è disponibile dal Framework 3.0 di .Net
Espone servizi con 4 diversi tipi di protocollo:
http
TCP
MSMQ
Named Pipe
Si basa su 3 semplici concetti:
1. Cosa voglio...
Normal
0
14
false
false
false
IT
X-NONE
X-NONE
MicrosoftInternetExplorer4
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tabella normale";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
Oggi parliamo di WCF.
Innanzitutto cosa sono:
http://www.winfxitalia.com/articoli/communication_foundation/introduzione.aspx
Per poi seguire un tutorial completo:
http://visualcsharp.it/news/2009/11/20/wcf-i-parte/
http://visualcsharp.it/news/2009/11/21/wcf-ii-parte/
http://visualcsharp.it/news/2009/11/22/wcf-iii-parte/
http://visualcsharp.it/news/2009/11/24/wcf-iv-parte/
http://visualcsharp.it/news/2009/11/27/wcf-v-parte/
http://visualcsharp.it/news/2009/11/30/wcf-vi-parte/
http://visualcsharp.it/news/2009/12/07/wcf-vii-parte/
http://visualcsharp.it/news/2009/12/11/wcf-viii-parte/
Interessante inoltre questo web cast di Alessandro Del Sole sugli ADO.NET Data Services, un Framework basato su WCF per l’esposizione dei dati in rete.
http://www.microsoft.com/italy/beit/Generic.aspx?video=dcd4d0d0-9cd7-49ad-9981-232a0eb1b57d
Come approfondimento:
http://www.winfxitalia.com/articoli/winfx/windows_communication_foundation_sicurezza.aspx
http://www.winfxitalia.com/articoli/communication-foundation/costruire-chat-wcf.aspx
http://www.winfxitalia.com/articoli/communication-foundation/Tracing-Windows-Communication-Foundation.aspx
Ovviamente non dobbiamo reinventare tutto ogni qualvolta creiamo un’applicazione nuova e vogliamo utilizzare l’M-V-VM, ma esistono dei framework già belli e pronti:
PRISM http://compositewpf.codeplex.com/
MVVM light toolkit http://www.galasoft.ch/mvvm/getstarted/
WPF Onyx http://wpfonyx.codeplex.com/
Caliburn http://caliburn.codeplex.com/
Ocean http://karlshifflett.wordpress.com/2009/01/26/ocean-framework-released-mvvm-for-wpf-line-of-business-update/
Abbiamo visto fin qui come creare una UI gradevole all’utente e come fare il binding dei dati corretto.
Ma come si può programmare correttamente e creare un’applicazione testabile? Qual è il modo più corretto per sviluppare un’applicazione WPF?
Ci vengono in aiuto gli stessi sviluppatori di Blend dandoci in mano un pattern, il Model-View-ViewModel.
Questo pattern consente una separazione tra la UI e i dati stessi, permettendo una testabilità del codice completa.
E’ derivato da MVC – Presentation Model.
Vi consiglio questo video di Corrado Cavalli.
http://www.microsoft.com/italy/beit/Msdn.aspx?video=24878a7f-235d-43ae-8aec-f09c2224fe49
http://www.winfxitalia.com/articoli/presentation-foundation/architettura-model-view-viewmodel-wpf-p-1.aspx
In inglese :
http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
Da analizzare anche il command binding:
http://blog.raffaeu.com/archive/2009/06/15/wpf-and-mvvm-tutorial-04-the-commands.aspx
http://dotnetcenter.it/articles/10/MVVM-per-la-realizzazione-di-client-WPF.html
Vi consiglio inoltre i seguenti video che, oltre a riprendere il MVVM riprendono...
Tempo fa su un forum è apparsa la seguente domanda:
“Ciao a tutti.
Ho sempre sviluppato in Windows Forms e non ho mai avuto problemi, ma
mi sto affezionando sempre di più alla nuova tecnologia WPF.
Sto per iniziare a scrivere un nuovo gestionale e mi chiedevo se fosse
meglio continuare con Windows Forms o passare a WPF.
Per un gestionale, WPF è realmente utile?...
Full WPF e Silverlight Archive