Ultime notizie
Home » Programmazione » .Net Framework » WPF ed ereditarietà visuale

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>



About Luigi Melisi

Analista Programmatore Senior, Team Leader in svariati progetti, con esperienza decennale in analisi, progettazione e sviluppo di software gestionale desktop e web, di E-Commerce e sistemi di Content Management System.In questi anni ho utilizzato in prevalenza tecnologie Microsoft (Visual C#, ASP.NET, SQL Server, Visual Studio, Windows Mobile, ecc.) e programmazione orientata agli oggetti, ma ho maturato esperienza anche in altre tecnologie come Java e PHP.Attualmente mi occupo di consulenza informatica, di sviluppo software gestionale personalizzato, realizzazione di Siti Web, di sistemi di Content Management System. ed E-Commerce su misura del cliente.

Check Also

Come ricavare l’ID univoco di un Windows Phone

Se durante lo sviluppo di un’applicazione ti si presenta la necessità di capirecome ricavare l’ID …

Lascia un commento

%d blogger hanno fatto clic su Mi Piace per questo: