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