novembre 2007 Blog Posts
Non sono un grande sostenitore delle animazioni di WPF (a parte le demo ovviamente, il pulsante che ruota è ormai un classico...) però in alcuni casi le animazioni possono dare un tocco di "eleganza" anche alla più statica delle applicazioni. Il frammento di codice che segue anima la proprietà StrokeDashOffset di un rettangolo racchiuso in un template associato attraverso FocusVisualStyle ottenendo l'effetto della classica linea animata che circonda il controllo col focus. <Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="FocusVisualStyle.Window1"
x:Name="Window"
...
Ricciolo questa volta si è superato, non solo si è messo ad analizzare lo spettro di un segnale audio con DirectShow, ma si è pure inventato un player WPF con relativi VU-Meter usando una tecnica da applauso. Attendiamo un articolo approfondito sull'intero progetto Technorati Tags: WPF,DirectShow
E' uscita la versione di Expression Blend compatibile con la versione RTM del Fx 3.5 e Visual Studio 2008. Questo Sp1 migliora la stabilità e la velocità nell'editing delle risorse. Disponibile qui Technorati Tags: Expression Blend,WPF
A giudicare dalla proliferazione di debugger visualizers l'interesse verso WPF sta crescendo...
Dallo stesso team di WoodStock e' ora il turno di Mole, a prima vista sembra molto simile al precedente, ma alcuni screenshot rivelano qualche funzionalita' aggiuntiva (es:la visualizzazione dello Xaml che descrive un elemento)
Tanto vale installarli entrambi...
Mole GUI:
Localizzare un applicazione WPF rappresenta sotto certi aspetti un salto nel passato. Dopo esserci abituati a Visual Studio e alla possibilità di localizzare un form semplicemente cambiando la proprietà Language, ora il gioco si fa decisamente più "duro".
Innanzitutto bisogna procurarsi i ferri del mestiere quindi oltre a Visual Studio 2008 bisogna scaricarsi l'esempio LocBaml (per la serie "fatelo da voi"...) e compilarselo.
A questo punto immaginiamo di avere un applicazione come quella in fig1 composta da una finestra con all'interno un semplice pulsante che quando premuto visualizza una MessageBox
fig.1
Il punto di partenza è modificare il file .csproj...
Avete ancora dei progetti VB6 da migrare verso .NET? allora date un occhiata al nuovo tool di Francesco Balena: VB Migration Partner Technorati Tags: VB6,Migrazione
Se siete interessati a Silverlight ecco un interessante corso online gratuito: qui Technorati Tags: Silverlight,Online courses
Immaginate di avere la necessità di eseguire un operazione ogni volta che l'utente preme un qualsiasi pulsante all'interno di un applicazione. Far questo in un applicazione Windows Form non è sicuramente banale, in WPF lo stesso risultato si può ottenere abbastanza facilmente grazie alla possibilità di sottoscrivere uno o più eventi esposti da una classe indipendentemente da dove venga poi utilizzata la relativa istanza. Immaginiamo di avere due window, ognuna con un pulsante e di voler loggare quando questi vengono premuti. Le operazioni da eseguire sono: ...
VB2008 parte col piede sbagliato per quanto rigurda WPF: Basta infatti creare una nuova applicazione WPF, premere F5 per avere un clamoroso errore di compilazione (se, da bravi programmatori avete attivato Option Strict On) Il problema sta nelle nuove WPF MyExtensions introdotte post Beta2 (e post RC) che qui falliscono a causa del cast implicito: <Global.System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")> _
Friend ReadOnly Property Application() As Application
Get
Return Global.System.Windows.Application.Current
End Get
End Property
Al momento la soluzione consiste nel aggiustare manualmente i templates...
MSDN Subscribers: Fatevi sotto!
Oggi, partendo da una necessità completamente diversa, ho realizzato un template che si comporta come se fosse uno Usercontrol. Tutto è partito dalla necessità di definire un custom template per una textbox, con Blend, una volta instaurato un buon rapporto, è una operazione "relativamente" semplice e decisamente più veloce che scriversi lo XAML a mano. In Blend il template appare come in fig.1. fig.1 La "stranezza" sta nel fatto che nel template della textbox ci sono anche dei pulsanti che voglio utilizzare per copiare e incollare il text della textbox....
Se avete usato Snoop sicuramente apprezzerete questa nuova versione creata da Josh Smith in forma di debugger visualizer per VS2005/VS2008 attraverso il quale è possibile analizzare il visual tree dell'elemento selezionato, analizzarne le proprietà e, dettaglio interessante, capire la provenienza del valore attuale delle relative dependency properties. Da avere! Technorati Tags: WPF,Debugger Visualizer
...Don Box posta codice in VB!
"I'm starting to write more VB code lately"
Link: Lambda in VB
Se vi interessa WPF non potete perdervi questa ghiotta collezione di sessioni e demos tenute durante il WPF Bootcamp a Redmond (in realtà i lab sono gli stessi del Mix 07) Link: WPF Bootcamp Technorati Tags: WPF
Se avete visto un qualsiasi frammento di XAML è probabile che abbiate incontrato una markup extension, ovvero quelle particolari definizioni racchiuse tra parentesi graffe (es: {x:Null}). Oggi mi è venuto comodo visualizzare in un texblock il valore di un setting e per far questo ho sfruttato la possibilità di definire delle custom markup extensions semplicemente creando delle classi che ereditano da MarkupExtension. [MarkupExtensionReturnType(typeof(string))]
public class StringSettingExtension:MarkupExtension
{
public StringSettingExtension():base(){}
public StringSettingExtension(string propertyName)
{
if (string.IsNullOrEmpty(propertyName))
throw...