<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Luigi Melisi &#187; myapplication</title>
	<atom:link href="http://www.luigimelisi.com/tag/myapplication/feed" rel="self" type="application/rss+xml" />
	<link>http://www.luigimelisi.com</link>
	<description>Development Blog : C# Code Samples,.NET Tips and Tricks</description>
	<lastBuildDate>Thu, 03 Mar 2011 09:01:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>WPF ed ereditarietà visuale</title>
		<link>http://www.luigimelisi.com/programmazione/net_framework/wpf-ed-ereditarieta-visuale.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wpf-ed-ereditarieta-visuale</link>
		<comments>http://www.luigimelisi.com/programmazione/net_framework/wpf-ed-ereditarieta-visuale.html#comments</comments>
		<pubDate>Fri, 15 Jan 2010 16:53:50 +0000</pubDate>
		<dc:creator>Luigi Melisi</dc:creator>
				<category><![CDATA[.Net Framework]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[BaseView]]></category>
		<category><![CDATA[controlli]]></category>
		<category><![CDATA[ControlTemplate]]></category>
		<category><![CDATA[Ereditarietà]]></category>
		<category><![CDATA[Expression]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[finestre]]></category>
		<category><![CDATA[footer]]></category>
		<category><![CDATA[myapplication]]></category>
		<category><![CDATA[Setter]]></category>
		<category><![CDATA[visuale]]></category>
		<category><![CDATA[Window]]></category>
		<category><![CDATA[x type]]></category>

		<guid isPermaLink="false">http://www.luigimelisi.com/?p=601</guid>
		<description><![CDATA[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  [...]]]></description>
			<content:encoded><![CDATA[<p><strong></strong>Una delle “mancanze” che alcuni lamentano in <strong>WPF è l’assenza dell’ereditarietà visuale delle Window e dei UserControl.</strong></p>
<p>In realtà esistono semplici meccanismi che permettono di ottenere lo stesso risultato.<span id="more-601"></span></p>
<p>Una delle tecniche è quella di utilizzare un template per stilare una BaseWindow o un BaseControl:</p>
<p>Supponiamo di avere una BaseView (Window) base dalla quale facciamo derivare tutte le finestre della nostra applicazione:</p>
<p>Definiremo una classe BaseView che eredita da Window e avrà tutti i metodi/propriertà necessarie:</p>
<blockquote><p><strong>public class BaseView : Window</strong></p>
<p><strong>{</strong></p>
<p><strong>// &#8230;</strong></p>
<p><strong>}</strong></p></blockquote>
<p>Questa è solo una classe e non ha parte visuale.</p>
<p>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:</p>
<blockquote><p><strong>&lt;Style TargetType=&#8221;{x:Type Common:BaseView}&#8221;&gt;</strong></p>
<p><strong>&lt;Setter Property=&#8221;Template&#8221;&gt;</strong></p>
<p><strong>&lt;Setter.Value&gt;</strong></p>
<p><strong>&lt;ControlTemplate TargetType=&#8221;{x:Type Common:BaseView}&#8221;&gt;</strong></p>
<p><strong>&lt;StacckPanel&gt;</strong></p>
<p><strong>&lt;!&#8211; Altri controlli: toolbar? &#8211;&gt;</strong></p>
<p><strong>&lt;ContentPresenter/&gt;</strong></p>
<p><strong>&lt;!&#8211; Altri controlli: footer? &#8211;&gt;</strong></p>
<p><strong>&lt;/StackPanel&gt;</strong></p>
<p><strong>&lt;/ControlTemplate&gt;</strong></p>
<p><strong>&lt;/Setter.Value&gt;</strong></p>
<p><strong>&lt;/Setter&gt;</strong></p>
<p><strong>&lt;/Style&gt;</strong></p></blockquote>
<p>Questo stile viene poi applicato a tutte i controlli di tipo BaseView che avranno quindi tutti un aspetto comune.</p>
<p>Quindi per sfruttare il template è sufficiente che le finestre dell&#8217;applicazione ereditino da BaseView:</p>
<blockquote><p><strong>&lt;MyApplication:BaseView&gt;</strong></p>
<p><strong>&#8230;.</strong></p>
<p><strong>&lt;/MyApplication:BaseView&gt;</strong></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.luigimelisi.com/programmazione/net_framework/wpf-ed-ereditarieta-visuale.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

