Development Blog : C# Code Samples,.NET Tips and Tricks
WPF ed ereditarietà visuale
Una delle “mancanze” che alcuni lamentano in WPF è l’assenza dell’ereditarietà visuale delle Window e dei UserControl.
In realtà esistono semplici meccanismi che permettono di ottenere lo stesso risultato.
Una delle tecniche è quella di utilizzare un template per stilare una BaseWindow o un BaseControl:
Supponiamo di avere una BaseView (Window) base dalla quale facciamo derivare tutte le finestre della nostra applicazione:
Definiremo una classe BaseView che eredita da Window e avrà tutti i metodi/propriertà necessarie:
public class BaseView : Window
{
// …
}
Questa è solo una classe e non ha parte visuale.
La parte “visuale” la disegno con Expression Blend come stile della BaseView e vado a ridefinire il ControlTemplate mettendo al suo interno tutti i controlli che voglio vedere in tutte le finestre che ereditano:
<Style TargetType=”{x:Type Common:BaseView}”>
<Setter Property=”Template”>
<Setter.Value>
<ControlTemplate TargetType=”{x:Type Common:BaseView}”>
<StacckPanel>
<!– Altri controlli: toolbar? –>
<ContentPresenter/>
<!– Altri controlli: footer? –>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Questo stile viene poi applicato a tutte i controlli di tipo BaseView che avranno quindi tutti un aspetto comune.
Quindi per sfruttare il template è sufficiente che le finestre dell’applicazione ereditino da BaseView:
<MyApplication:BaseView>
….
</MyApplication:BaseView>
| Stampa l'articolo | Questo articolo è stato pubblicato da Luigi Melisi il 15 gennaio 2010 alle 17:53, ed è archiviato come .Net Framework, Programmazione, Tips and Tricks, WPF. Puoi seguire i commenti a questo post attraverso RSS 2.0. Puoi pubblicare un commento o segnalare un trackback dal tuo sito. |
Nessun commento presente.
Nessun trackback
Free Silverlight & WPF Chart Control – Visifire
circa 4 settimane fa - Nessun commento
Visifire è un componente open source per la visualizzazione di dati, sviluppato per Microsoft Silverlight e WPF.
Con Visifire potete creare facilemente ed in pochi minuti grafici animati.
Visifire è facile da usare e indipendente dalla tecnologia utilizzata lato server.
Rilasciato Microsoft Expression Studio 4
circa 1 mese fa - Nessun commento
Rilasciato Microsoft Expression Studio 4
[NET Framework 4.0] : ClientIDMode
circa 2 mesi fa - Nessun commento
Tra le numerose novità introdotte con la versione 4.0 del .NET Framework , non potevano mancare anche nuove ed interessanti funzionalità di ASP.NET. Tra queste troviamo la proprietà ClientIDMode che possiamo impostare sia a livello di singola pagina nelle direttive @Page o @Master, che a livello di intera applicazione nel Web.config. Questa proprietà ci consente di
MSDN Week : 22 Febbraio
circa 5 mesi fa - Nessun commento
In questo post raccogliamo un po’ di link interessanti sul mondo e le tecnologie .NET. Visual Studio 2010 e .NET Framework 4 In questa sezione trovate dei link interessanti per chi sta sviluppando con Visual Studio 2010 e .NET 4. WPF in Visual Studio…(read more)
Disponibile al download Expression Web 3 – Service Pack 1
circa 5 mesi fa - Nessun commento
E’ disponibile Expression Web 3 – Service Pack 1. Potete procedere al download direttamente dal seguente link o in alternativa se avete abilitato i Microsoft Update dovreste aver installato automaticamente la nuova service pack sul vostro PC. Tante le novità contenute in questo aggiornamento sia in ambito di progettazione sia di testing delle pagine, nell’ottica di
Introduzione a SketchFlow: “overview dell’area di lavoro e delle nuove funzionalità”
circa 6 mesi fa - Nessun commento
Entriamo nel vivo! Prima di procedere con la realizzazione del nostro primo prototipo dinamico attraverso Blend e SketchFlow vediamo insieme alcune caratteristiche che differenziamo l’ambiente di lavoro rispetto un progetto standard di un’applicazione…(read more)
Riordinare gli elementi di una lista tramite Drag and Drop con jQuery
circa 6 mesi fa - Nessun commento
Attraverso jQuery.UI è possibile sfruttare un comodo sistema, chiamato sortable, che consente di applicare facilmente il drag & drog a liste. Una volta scaricato jQuery.UI, l’aggiunta del supporto per il drag & drop ad una serie di elmenti è semplice. Per prima cosa è necessario comporre un markup che consenta facilmente di gestire dal punto
Come Espandere una Window Wpf solo orizzontalmente o verticalmente.
circa 6 mesi fa - Nessun commento
Per massimizzare un Window WPF solo orizzontalmento verticalmente basta usare queste poche e semplici linee di codice : public partial class MyWindow : Window { public MyWindow() { InitializeComponent(); FillHeight(); } private void FillHeight() { PropertyChangedCallback tmpChanged = (source, args) => { var workArea = (Rect)args.NewValue; this.Height = workArea.Height; }; DependencyProperty tmp = DependencyProperty.Register(“tmp”, typeof (Rect), typeof (Window), new PropertyMetadata(new PropertyChangedCallback(tmpChanged))); this.SetResourceReference(tmp, SystemParameters.WorkAreaKey); } }
Definire una colonna Button all’interno di una ListView con WPF
circa 7 mesi fa - Nessun commento
Supponiamo di avere una classe Person ed una collezione di essa impostata come DataContext di una Window. public class Person { public string Nome { get; set; } public int Eta { get; set; } } public partial class MyWindow : Window { public MyWindow() { InitializeComponent(); DataContext = GetPeople(); }