April 2008 Blog Posts

WPF Transitionals

Su Codeplex è apparso un interessante progetto chiamato Transitionals. Il progetto consiste in una libreria che permette di applicare degli effetti di transizione da uno usercontrol all'altro il tutto semplicemente modificando il valore della proprietà Content dell'oggetto contenitore TransitionElement. Ecco un esempio di utilizzo: <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:loc="clr-namespace:Transitions" xmlns:transc="clr-namespace:Transitionals.Controls;assembly=Transitionals" xmlns:transt="clr-namespace:Transitionals.Transitions;assembly=Transitionals" x:Class="Transitions.Window1" x:Name="Window" Title="Transitions" Width="640" Height="480"> <Window.Resources> ...

posted @ Wednesday, April 30, 2008 8:03 AM | Feedback (0)

WPF: accelerare un'animazione per arrivare velocemente alla fine (Versione NoCode)

Posto qui una versione alternativa al recente post di Igor a dimostrazione che XAML può evitare l'uso del codice,a beneficio di chi non legge i commenti nei blogs... <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="WpfApplication9.Window1" x:Name="Window" Title="Window1" Width="640" Height="480"> <Window.Triggers> <EventTrigger RoutedEvent="Window.Loaded"> <BeginStoryboard Name="MyStoryboard"> ...

posted @ Thursday, April 24, 2008 12:18 AM | Feedback (3)

Lambda e InvokeRequired

Un amico mi ha chiesto se attraverso l'uso delle lambda function è possibile "elegantizzare" il classico codice che si occupa di eseguire il marshaling tra UI e thread secondario. Il codice di partenza è: void BusDriver_TelegramReceived (BusDriver sender, BusTelegram telegram) { if (InvokeRequired) { this.Invoke((TelegramReceived)delegate(BusDriver driver, BusTelegram tgram) ...

posted @ Sunday, April 20, 2008 7:05 PM | Feedback (0)

Implicit style in Silverlight 2.0

Mentre in WPF per definire uno stile implicito è sufficiente non utilizzare x:Key nella definizione dello style: <Style TargetType="{x:Type Button}"> <!--No key defined!--> <Setter Property="Background" Value="Blue" /> <Setter Property="Foreground" Value="Yellow" /> <Setter Property="FontSize" Value="22" /> <Setter Property="FontWeight" Value="Bold" /> ...

posted @ Thursday, April 10, 2008 10:02 AM | Feedback (1)