<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results for 'app:weblogs' matching tags 'WPF' and 'XAML'</title><link>http://msmvps.com/search/SearchResults.aspx?q=app:weblogs&amp;tag=WPF,XAML&amp;orTags=0&amp;o=DateDescending</link><description>Search results for 'app:weblogs' matching tags 'WPF' and 'XAML'</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>WPF | Como implementar ListBoxItem com ContextMenu</title><link>http://msmvps.com/blogs/cmattos/archive/2011/05/11/wpf-como-implementar-listboxitem-com-contextmenu.aspx</link><pubDate>Wed, 11 May 2011 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1793007</guid><dc:creator>Cmattos</dc:creator><description>&lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;</description></item><item><title>WPF - Como Aplicar DropShadowEffect num ListBoxItem </title><link>http://msmvps.com/blogs/cmattos/archive/2011/05/09/wpf-como-aplicar-dropshadoweffect-num-listboxitem.aspx</link><pubDate>Mon, 09 May 2011 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1792886</guid><dc:creator>Cmattos</dc:creator><description>&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Como todos sabem, o &lt;b style="mso-bidi-font-weight:normal;"&gt;WPF&lt;/b&gt; oferece diversos recursos para aprimorarmos a interface das nossas aplica&amp;ccedil;&amp;otilde;es. Todos os controles do tipo Lista podem ser customizados para exibir os dados desejados. Um efeito muito comum utilizado nestes controles &amp;eacute; o &lt;b style="mso-bidi-font-weight:normal;"&gt;DropShadowEffect&lt;/b&gt; que aplica uma &amp;ldquo;sombra&amp;rdquo; sobre o item selecionado na lista. A cor e a profundidade desta sombra s&amp;atilde;o definidas atrav&amp;eacute;s dos par&amp;acirc;metros &lt;b style="mso-bidi-font-weight:normal;"&gt;Color&lt;/b&gt; e &lt;b style="mso-bidi-font-weight:normal;"&gt;ShadowDepth&lt;/b&gt; respectivamente. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;Construindo o exemplo&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Para ilustrar esse recurso do &lt;b style="mso-bidi-font-weight:normal;"&gt;WPF&lt;/b&gt;, vamos construir uma lista de amigos. Os itens da lista exibir&amp;atilde;o os nomes e imagens. O efeito &lt;b style="mso-bidi-font-weight:normal;"&gt;DropShadowBitmapEffect&lt;/b&gt; ser&amp;aacute; aplicado no evento &lt;b style="mso-bidi-font-weight:normal;"&gt;MouseOver&lt;/b&gt;. Veja a aplica&amp;ccedil;&amp;atilde;o de exemplo em tempo de execu&amp;ccedil;&amp;atilde;o. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/7652.WPFDropShadowEffect_5F00_1.jpg"&gt;&lt;img src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/7652.WPFDropShadowEffect_5F00_1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;Figura 1: ListBoxItem com DropShadowEffect aplicado&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Para construir a interface apresentada na &lt;b style="mso-bidi-font-weight:normal;"&gt;Figura 1&lt;/b&gt;, abra o &lt;b style="mso-bidi-font-weight:normal;"&gt;Visual Studio&lt;/b&gt;, crie um novo projeto baseado no &lt;b style="mso-bidi-font-weight:normal;"&gt;Template&lt;/b&gt; &lt;b style="mso-bidi-font-weight:normal;"&gt;WPF Application&lt;/b&gt;. Na Janela &lt;b style="mso-bidi-font-weight:normal;"&gt;MainWindow.xaml&lt;/b&gt; altere o c&amp;oacute;digo &lt;b style="mso-bidi-font-weight:normal;"&gt;XAML&lt;/b&gt; de acordo com os quadros a seguir. &lt;/p&gt;
&lt;p class="MsoNormal"&gt;O primeiro passo &amp;eacute; criarmos a se&amp;ccedil;&amp;atilde;o &lt;span style="font-family:Consolas;color:blue;font-size:10pt;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a31515;font-size:10pt;"&gt;Grid.Resources&lt;/span&gt;&lt;span style="font-family:Consolas;color:blue;font-size:10pt;"&gt;&amp;gt;&lt;/span&gt;onde depositaremos o &lt;b style="mso-bidi-font-weight:normal;"&gt;DataSource&lt;/b&gt; que ser&amp;aacute; utilizado para alimentar o &lt;b style="mso-bidi-font-weight:normal;"&gt;ListBox&lt;/b&gt; e o &lt;b style="mso-bidi-font-weight:normal;"&gt;ListItemContainerStyle&lt;/b&gt; que cont&amp;eacute;m as defini&amp;ccedil;&amp;otilde;es para aplica&amp;ccedil;&amp;atilde;o do efeito visual nos itens da lista.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;O primeiro grupo de c&amp;oacute;digo &lt;b style="mso-bidi-font-weight:normal;"&gt;XAML&lt;/b&gt; que adicionaremos na se&amp;ccedil;&amp;atilde;o &lt;b style="mso-bidi-font-weight:normal;"&gt;Grid.Resources&lt;/b&gt; utiliza o &lt;b style="mso-bidi-font-weight:normal;"&gt;XmlDataSource&lt;/b&gt; para criar uma lista de amigos contendo &lt;b style="mso-bidi-font-weight:normal;"&gt;Nome&lt;/b&gt; e &lt;b style="mso-bidi-font-weight:normal;"&gt;Imagem&lt;/b&gt; de cada item. &lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/8865.WPFDropShadowEffect_5F00_2.jpg"&gt;&lt;img src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/8865.WPFDropShadowEffect_5F00_2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Figura 2: C&amp;oacute;digo XAML para criar o XmlDataSource&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;O segundo grupo de c&amp;oacute;digo &lt;b style="mso-bidi-font-weight:normal;"&gt;XAML&lt;/b&gt; na se&amp;ccedil;&amp;atilde;o &lt;b style="mso-bidi-font-weight:normal;"&gt;Grid.Resources&lt;/b&gt; cria o &lt;b style="mso-bidi-font-weight:normal;"&gt;ControlTemplate&lt;/b&gt; para o &lt;b style="mso-bidi-font-weight:normal;"&gt;ListBoxItem&lt;/b&gt;. Observe que o &lt;b style="mso-bidi-font-weight:normal;"&gt;Template&lt;/b&gt; &amp;eacute; definido dentro do &lt;b style="mso-bidi-font-weight:normal;"&gt;Tag &amp;lt;Style&amp;gt;.&lt;/b&gt; &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;Este c&amp;oacute;digo define como os registros ser&amp;atilde;o apresentados e utiliza um &lt;b style="mso-bidi-font-weight:normal;"&gt;Trigger&lt;/b&gt; associado &amp;agrave; propriedade &lt;b style="mso-bidi-font-weight:normal;"&gt;IsMouseOver&lt;/b&gt; para aplicar o efeito &lt;b style="mso-bidi-font-weight:normal;"&gt;DropShadowBitmapEffect&lt;/b&gt;. Confira o c&amp;oacute;digo na &lt;b style="mso-bidi-font-weight:normal;"&gt;Figura 3&lt;/b&gt;. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/1641.WPFDropShadowEffect_5F00_3.jpg"&gt;&lt;img src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/1641.WPFDropShadowEffect_5F00_3.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Figura 3: Definindo o estilo para o controle ListBox&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Finalmente, vamos ao c&amp;oacute;digo necess&amp;aacute;rio para implementar nosso controle &lt;b style="mso-bidi-font-weight:normal;"&gt;ListBox&lt;/b&gt;. Observe que a propriedade ItemSource &amp;eacute; alimentada atrav&amp;eacute;s do &lt;b style="mso-bidi-font-weight:normal;"&gt;StaticResource&lt;/b&gt; e a propriedade &lt;b style="mso-bidi-font-weight:normal;"&gt;ItemContainerStyle&lt;/b&gt; estabelece o v&amp;iacute;nculo com o estilo &lt;b style="mso-bidi-font-weight:normal;"&gt;RedDropShadowEffect&lt;/b&gt; definido na se&amp;ccedil;&amp;atilde;o &lt;b style="mso-bidi-font-weight:normal;"&gt;Grid.Resources&lt;/b&gt;. Confira o c&amp;oacute;digo na &lt;b style="mso-bidi-font-weight:normal;"&gt;Figura 4&lt;/b&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/7288.WPFDropShadowEffect_5F00_4.jpg"&gt;&lt;img src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/7288.WPFDropShadowEffect_5F00_4.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Figura 4: O c&amp;oacute;digo do controle ListBox&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;O mesmo estilo pode ser melhorado acrescentando outro Trigger associado &amp;agrave; propriedade IsSelected, definindo outra cor para o efeito visual. Este &amp;eacute; apenas um exemplo dos recursos gr&amp;aacute;ficos que est&amp;atilde;o dispon&amp;iacute;veis no WPF. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;a href="http://devbrasil.net/group/wpf"&gt;&lt;span style="font-family:Calibri;color:#0000ff;font-size:small;"&gt;Aprofunde seus conhecimentos sobre este tema visitando a comunidade WPF&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Fa&amp;ccedil;a download deste arquivo no formato &lt;/span&gt;&lt;a href="http://cid-b875d38ceefaa09f.office.live.com/self.aspx/.Public/Artigos/ExemploDropShadowEffectListBoxItem.pdf"&gt;&lt;span style="font-family:Calibri;color:#0000ff;font-size:small;"&gt;PDF&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt; e tamb&amp;eacute;m do &lt;/span&gt;&lt;a href="http://cid-b875d38ceefaa09f.office.live.com/self.aspx/.Public/Artigos/ExemploDropShadowEffect.rar"&gt;&lt;span style="font-family:Calibri;color:#0000ff;font-size:small;"&gt;c&amp;oacute;digo-fonte&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt; deste exemplo.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>XAML: How to use a ConverterParameter which is not a string in XAML?</title><link>http://msmvps.com/blogs/matthieu/archive/2010/08/26/xaml-how-to-use-a-converterparameter-which-is-not-a-string-in-xaml.aspx</link><pubDate>Thu, 26 Aug 2010 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1776666</guid><dc:creator>Matthieu MEZIL</dc:creator><description>&lt;p&gt;Imagine the following case: I have a TextBox and a TextBlock and a boolean property IsEditing. &lt;/p&gt;  &lt;p&gt;If IsEditing is true, the TextBox is visible and the TextBlock is hidden and reversely.&lt;/p&gt;  &lt;p&gt;In this case I could use a ViewModel with two properties of type Visibility and the problem would be solved.&lt;/p&gt;  &lt;p&gt;However in this post, I want to use with Converters.&lt;/p&gt;  &lt;p&gt;The problem is the fact that I have only one boolean property and that Visibility controls property are both bound to it with different behaviors. &lt;/p&gt;  &lt;p&gt;So I will use a ConverterParameter to differentiate them.&lt;/p&gt;  &lt;pre&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:12pt;"&gt;&amp;#160;&lt;/font&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;object&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:12pt;"&gt; Convert(&lt;/font&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;object&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:12pt;"&gt; value, &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#2b91af"&gt;Type&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:12pt;"&gt; targetType, &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;object&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:12pt;"&gt; parameter, &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#2b91af"&gt;CultureInfo&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:12pt;"&gt; culture)&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:12pt;"&gt;{&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:12pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;return&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:12pt;"&gt; ((&lt;/font&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;bool&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:12pt;"&gt;)value ^ (parameter != &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;null&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:12pt;"&gt; &amp;amp;&amp;amp; (&lt;/font&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;bool&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:12pt;"&gt;)parameter)) ? &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#2b91af"&gt;Visibility&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:12pt;"&gt;.Visible : &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#2b91af"&gt;Visibility&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:12pt;"&gt;.Collapsed;&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:12pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;

&lt;p&gt;The problem in my binding is the fact that I can’t write this:&lt;/p&gt;

&lt;pre&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#ff0000"&gt;Visibility&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;=&amp;quot;{&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;Binding&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#ff0000"&gt; IsEditing&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;,&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#ff0000"&gt; Converter&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;={&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;StaticResource&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#ff0000"&gt; BooleanToVisibilityConverter&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;},&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#ff0000"&gt; ConverterParameter&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;True&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;

&lt;p&gt;Indeed, with it, the parameter is a string and not a boolean as expected.&lt;/p&gt;

&lt;p&gt;Of course I can make the binding to solve this by code but it isn’t the goal of this post.&lt;/p&gt;

&lt;p&gt;So how to do it in xaml?&lt;/p&gt;

&lt;p&gt;Like this:&lt;/p&gt;

&lt;pre&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;TextBlock.Visibility&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;Binding&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#ff0000"&gt; Path&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;quot;IsEditing&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:12pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#ff0000"&gt; Converter&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;=&amp;quot;{&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;StaticResource&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#ff0000"&gt; BooleanToVisibilityConverter&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;Binding.ConverterParameter&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;system&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;:&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;Boolean&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;True&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;system&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;:&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;Boolean&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;Binding.ConverterParameter&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;Binding&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#a31515"&gt;TextBlock.Visibility&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;Hope that helps&lt;/p&gt;</description></item><item><title>Export data to Excel from Silverlight/WPF DataGrid</title><link>http://msmvps.com/blogs/outcoldman/archive/2010/04/21/export-data-to-excel-from-silverlight-wpf-datagrid.aspx</link><pubDate>Wed, 21 Apr 2010 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1763975</guid><dc:creator>Outcoldman</dc:creator><description>&lt;p&gt;Data export from DataGrid to Excel is very common task, and it can be solved with different ways, and chosen way depend on kind of app which you are design. If you are developing app for enterprise, and it will be installed on several computes, then you can to advance a claim (system requirements) with which your app will be work for client. Or customer will advance system requirements on which your app should work. In this case you can use COM for export (use infrastructure of Excel or OpenOffice). This approach will give you much more flexibility and give you possibility to use all features of Excel app. About this approach I&amp;rsquo;ll speak below. Other way &amp;ndash; your app is for personal use, it can be installed on any home computer, in this case it is not good to ask user to install MS Office or OpenOffice just for using your app. In this way you can use foreign tools for export, or export to xml/html format which MS Office can read (this approach used by JIRA). But in this case will be more difficult to satisfy user tasks, like create document with landscape rotation and with defined fields for printing.&lt;/p&gt;
&lt;p&gt;At this article I&amp;#39;ll show you how to work with Excel object from .NET 4 and Silverlight 4 with dynamic objects and give you an approach which allow you to export data from DataGrid Silverlight and WPF controls.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://outcoldman.ru/en/blog/show/201"&gt;Read more...&lt;/a&gt;&lt;/p&gt;</description></item><item><title>VisualStateManager - how we can define user interface in WPF and Sliverlight</title><link>http://msmvps.com/blogs/sergun/archive/2009/04/29/visualstatemanager-how-we-can-define-user-interface-in-wpf-and-sliverlight.aspx</link><pubDate>Wed, 29 Apr 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1691616</guid><dc:creator>Sergun</dc:creator><description>&lt;p&gt;It is known, that technologies WPF and Silverlight allow to change appearance of the application essentially. However, as it is found out, it is far not all know as it it is possible to do conveniently.&lt;/p&gt;  &lt;p&gt;For definition of appearance of controls we usually use ControlTemplate, and dynamics we set via triggers. Undoubtedly, triggers in XAML - the most powerful tool. Nevertheless at construction of difficult interfaces the logic constructed on triggers happens not trivial and opaque, and at times sets restrictions.&lt;/p&gt;  &lt;p&gt;Alternative way of construction of the task of appearance of controls is use of object VisualStateManager. I will not go deep into details, I will tell only the most necessary.&lt;/p&gt;  &lt;p&gt;VisualStateManager is DependencyObject, with all consequences. We can set behaviour of this object for each control which we wish to operate. Idea of VSM is based on realisation of a state of an control. We can define a set of states&amp;#160; (VisualState) in which can there is a controls and to set for each state the appearance. States are packed into groups (VisualStateGroup). Thus, it is possible to define logic groups of states and to define in them transitions. &lt;/p&gt;  &lt;p&gt;Each state (VisualState) is Storyboard. State realisation consists that at transition in this condition works set Storyboard, i.e. animation will be starting. &lt;/p&gt;  &lt;p&gt;It is possible to present representation of the described structure graphically.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="VisualStateManager sample" border="0" alt="VisualStateManager sample" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sergun/image_5F00_0DE17780.png" width="403" height="489" /&gt;&lt;/p&gt;  &lt;p&gt;Let&amp;#39;s create a small example on the basis of states. Let&amp;#39;s create new UserControl in the application WPF with simple structure.&lt;/p&gt;  &lt;div&gt;   &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;     &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;lt;UserControl x:Class=&lt;span style="color:#006080;"&gt;&amp;quot;WpfApplication15.UserControl1&amp;quot;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    xmlns=&lt;span style="color:#006080;"&gt;&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    xmlns:x=&lt;span style="color:#006080;"&gt;&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;Grid&amp;gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &amp;lt;Border Name=&lt;span style="color:#006080;"&gt;&amp;quot;State1Panel&amp;quot;&lt;/span&gt; Background=&lt;span style="color:#006080;"&gt;&amp;quot;Red&amp;quot;&lt;/span&gt; Opacity=&lt;span style="color:#006080;"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &amp;lt;TextBlock Text=&lt;span style="color:#006080;"&gt;&amp;quot;Text of control&amp;quot;&lt;/span&gt; Foreground=&lt;span style="color:#006080;"&gt;&amp;quot;White&amp;quot;&lt;/span&gt; HorizontalAlignment=&lt;span style="color:#006080;"&gt;&amp;quot;Center&amp;quot;&lt;/span&gt; VerticalAlignment=&lt;span style="color:#006080;"&gt;&amp;quot;Center&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;/Grid&amp;gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;lt;/UserControl&amp;gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;It is a control with the text and a red background. Let&amp;#39;s define two states for this control - State1 and State2. Each of states will visually differ a background. Let&amp;#39;s describe two objects VisualState and we will set transition animations.In our case we will simply put against each other two elements Border with a different background. Animation will consist in concealment and display of the necessary element depending on a state.&lt;/p&gt;

&lt;div&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;UserControl&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;x:Class&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;WpfApplication15.UserControl1&amp;quot;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#ff0000;"&gt;xmlns:x&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Grid&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualStateManager.VisualStateGroups&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;            &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualStateGroup&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Common&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualState&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;State1&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Storyboard&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                        &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;DoubleAnimation&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;To&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Duration&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;0:00:00.4&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetName&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;State1Panel&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetProperty&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;(UIElement.Opacity)&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                        &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;DoubleAnimation&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;To&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Duration&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;0:00:00.7&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetName&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;State2Panel&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetProperty&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;(UIElement.Opacity)&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Storyboard&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualState&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualState&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;State2&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Storyboard&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                        &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;DoubleAnimation&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;To&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Duration&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;0:00:00.7&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetName&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;State1Panel&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetProperty&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;(UIElement.Opacity)&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                        &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;DoubleAnimation&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;To&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Duration&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;0:00:00.4&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetName&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;State2Panel&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetProperty&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;(UIElement.Opacity)&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Storyboard&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualState&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;            &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualStateGroup&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualStateManager.VisualStateGroups&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Border&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;State2Panel&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Background&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Green&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Opacity&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Border&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;State1Panel&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Background&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Red&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Opacity&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;TextBlock&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Text&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Text of control&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Foreground&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;White&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Grid&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;UserControl&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Now, using VisualStateManager, it is possible to switch states of a control and thus to change appearance. For this purpose we will place a control on the form.&lt;/p&gt;

&lt;div&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Window&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;x:Class&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;WpfApplication15.Window1&amp;quot;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#ff0000;"&gt;xmlns:x&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#ff0000;"&gt;xmlns:WpfApplication15&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;clr-namespace:WpfApplication15&amp;quot;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#ff0000;"&gt;Title&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Window1&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Height&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;300&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Width&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;300&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Grid&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;            &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;RowDefinition&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;            &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;RowDefinition&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Height&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;40&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;WpfApplication15:UserControl1&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Control1&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Height&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;118&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Top&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Margin&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;50,12,101,0&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;StackPanel&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Orientation&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Horizontal&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Grid&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;Row&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;            &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;            &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Button&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;State1Button&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Width&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;75&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Click&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;State1Button_Click&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;State1&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Button&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;#160;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;            &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Button&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;State2Button&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Width&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;75&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Click&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;State2Button_Click&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;State2&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Button&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;StackPanel&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Grid&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Window&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Also we will create handlers of pressing of buttons.&lt;/p&gt;

&lt;div&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; State1Button_Click(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;{&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    VisualStateManager.GoToState(Control1, &lt;span style="color:#006080;"&gt;&amp;quot;State1&amp;quot;&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;}&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;#160;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; State2Button_Click(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;{&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    VisualStateManager.GoToState(Control1, &lt;span style="color:#006080;"&gt;&amp;quot;State2&amp;quot;&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;}&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;As a result it is had the following application.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sergun/image_5F00_074DF7F0.png"&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="" border="0" alt="" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sergun/image_5F00_thumb_5F00_6697087D.png" width="681" height="216" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thus we can create some states of our control and on the basis of it to build the user interface.&lt;/p&gt;

&lt;p&gt;Such approach becomes especially useful when we see, that for standard controls there is a set of the predefined states. For example, for the Button - Normal, MouseOver, Pressed, Disabled etc. Such states are and at other elements. Because of such possibility creation of templates for controls essentially becomes simpler. For example, we can describe the button as follows.&lt;/p&gt;

&lt;div&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Style&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;TargetType&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;{x:Type Button}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Setter&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Property&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Margin&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Value&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;5&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Setter&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Property&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Width&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Value&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;100&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Setter&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Property&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Template&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Setter.Value&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;            &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;ControlTemplate&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;TargetType&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;{x:Type Button}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Grid&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualStateManager.VisualStateGroups&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                        &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualStateGroup&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Common&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                            &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualState&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Normal&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                            &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualState&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;MouseOver&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                                &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Storyboard&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                                    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;DoubleAnimation&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;To&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Duration&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;0:00:00.5&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetName&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;NormalBorder&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetProperty&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;(UIElement.Opacity)&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                                    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;DoubleAnimation&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;To&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Duration&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;0:00:00.3&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetName&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;OverBorder&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetProperty&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;(UIElement.Opacity)&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                                    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;DoubleAnimation&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;From&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;To&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;10&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;AutoReverse&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;True&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Duration&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;0:00:00.3&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetName&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;OverBorderRotateTransform&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetProperty&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Angle&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                                &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Storyboard&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                            &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualState&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                            &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualState&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Pressed&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                                &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Storyboard&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                                    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;DoubleAnimation&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;To&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Duration&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;0:00:00.5&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetName&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;NormalBorder&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetProperty&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;(UIElement.Opacity)&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                                    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;DoubleAnimation&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;To&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Duration&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;0:00:00.3&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetName&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;OverBorder&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetProperty&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;(UIElement.Opacity)&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                                    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;DoubleAnimation&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;From&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;To&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;360&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;AutoReverse&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;True&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Duration&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;0:00:00.4&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetName&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;OverBorderRotateTransform&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Storyboard&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;TargetProperty&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Angle&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                                &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Storyboard&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                            &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualState&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                        &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualStateGroup&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualStateManager.VisualStateGroups&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Border&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;NormalBorder&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;CornerRadius&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;5&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Background&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Gray&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Opacity&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Border&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;OverBorder&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;CornerRadius&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;5&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Background&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Green&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Opacity&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                        &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Border.RenderTransform&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                            &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;RotateTransform&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;OverBorderRotateTransform&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;CenterX&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;50&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;CenterY&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;20&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                        &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Border.RenderTransform&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Border&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;ContentPresenter&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Content&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;{TemplateBinding Content}&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Margin&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;5&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Grid&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;            &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Setter.Value&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Setter&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Style&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Now our buttons will look as follows.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sergun/image_5F00_42AE3123.png"&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="" border="0" alt="" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sergun/image_5F00_thumb_5F00_5582B4CD.png" width="718" height="204" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Similarly it is possible to adjust appearance in Silverlight applications.&lt;/p&gt;

&lt;p&gt;Unfortunately, this time remained without attention a Transitions, but about them next time.&lt;/p&gt;

&lt;p&gt;WPF sample:&lt;/p&gt;

&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:5b87f87f-9e20-4199-92fd-dc705cc7ded8" class="wlWriterEditableSmartContent"&gt;&lt;p&gt;&lt;div&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sergun/VSMWPFDemo_5F00_2A0E6E06.zip" target="_self"&gt;VSM-Silverlight-Demo.zip&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;Silverlight3 sample:&lt;/p&gt;

&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:04b92f4d-9417-4264-bae7-460c026b5200" class="wlWriterEditableSmartContent"&gt;&lt;p&gt;&lt;div&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sergun/VSMSilverlightDemo_5F00_0681A3D4.zip" target="_self"&gt;VSM-Silverlight-Demo.zip&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;&lt;/div&gt;</description></item><item><title>Los controles contenedores en WPF</title><link>http://msmvps.com/blogs/otelis/archive/2009/03/11/los-controles-contenedores-en-wpf.aspx</link><pubDate>Wed, 11 Mar 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1677449</guid><dc:creator>otelis</dc:creator><description>&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Hola &amp;iquest;qu&amp;eacute; tal?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Continuando con XAML y WPF quisiera continuar en esta ocasi&amp;oacute;n con el uso de los controles contenedores que se tienen disponibles para el dise&amp;ntilde;o de la interfaz de usuario desde Visual Studio 2008.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Ahora vamos a ver lo que hay en el dise&amp;ntilde;o de formularios con WPF que nos permitir&amp;aacute; dibujar la interfaz de usuario de una manera ordenada. En WPF existen algunos controles que se definen como contenedores con caracter&amp;iacute;sticas particulares, algunos con similitudes a los utilizados en HTML y otros utilizados t&amp;iacute;picamente de versiones anteriores y unos m&amp;aacute;s que surgieron de conceptos del dise&amp;ntilde;o de la interfaz de usuario de la versi&amp;oacute;n anterior de Windows Forms. No ir&amp;eacute; muy a fondo en cada uno, ya que se encuentra mucho acerca de cada control en la ayuda, sin embargo, mencionar los rasgos generales nos dar&amp;aacute; una idea de su uso para ubicarnos r&amp;aacute;pidamente en la construcci&amp;oacute;n de la interfaz de usuario.&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="margin:24pt 0cm 0pt;"&gt;&lt;span style="font-family:Cambria;color:#365f91;font-size:large;"&gt;Canvas&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Definido por las etiquetas &amp;lt;Canvas&amp;gt;&amp;lt;/Canvas&amp;gt;, al utilizar este control el dise&amp;ntilde;o de la interfaz de usuario se vuelve simple y permite colocar controles en el &amp;aacute;rea contenedora de manera relativa a las propiedades Canvas.Left y Canvas.Top que se definen directamente en el control, cabe mencionar que la propiedad Margin se combina con dichas propiedades, esto es, Canvas.Left se suma con la distancia a la izquierda de Margin, y Canvas.Top se suma con la distancia superior de Margin. Desde el dise&amp;ntilde;ador de Visual Studio se pueden mover los controles de manera libre en cualquier posici&amp;oacute;n dentro del canvas.&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="margin:24pt 0cm 0pt;"&gt;&lt;span style="font-family:Cambria;color:#365f91;font-size:large;"&gt;Grid&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Definido por las etiquetas &amp;lt;Grid&amp;gt;&amp;lt;/Grid&amp;gt;, es parecido al canvas, y se puede utilizar de igual manera, sin embargo a diferencia del anterior, en un grid se pueden definir sub regiones contenedoras establecidas por columnas (Grid.Column) y renglones (Grid.Row) similar a una tabla, creando celdas, donde los controles se posicionan relativos al &amp;aacute;rea delimitada por la celda, permitiendo con esto un arreglo ordenado de la interfaz de usuario. En el dise&amp;ntilde;ador de Visual Studio se puede mover el control de manera libre, sin embargo, para que se limite el control a una celda del grid se deber&amp;aacute; especificar las propiedades Grid.Column y Grid.Row en el mismo, ya que de no hacerlo se tendr&amp;aacute; un efecto parecido al canvas dejando al control libre en el &amp;aacute;rea total del Grid.&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="margin:24pt 0cm 0pt;"&gt;&lt;span style="font-family:Cambria;color:#365f91;font-size:large;"&gt;DockPanel&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Definido por las etiquetas &amp;lt;DockPanel&amp;gt;&amp;lt;/DockPanel&amp;gt;, que&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;es el reemplazo de la propiedad Dock de los controles de versiones anteriores, ahora en WPF, se utilizan paneles para definir las &amp;aacute;reas de espec&amp;iacute;ficas del formulario. Es r&amp;iacute;gido con los controles, al colocarlos no es simple manipularlos en su interior, por lo que se recomienda incluir un Canvas o un Grid por comodidad, la importancia de este control es para ubicar las &amp;aacute;reas del formulario, las cuales se definen estableciendo las propiedades VerticalAlignment para definir el Top, Center, Bottom o Stretch, y la propiedad HorizontalAlignment para definir el Left, Right, Center, Stretch. Cabe mencionar que al utilizar Stretch en ambas propiedades da un resultado parecido a Fill, tambi&amp;eacute;n es prudente mencionar que se debe utilizar la propiedad Margin para ubicar bien los paneles en sus l&amp;iacute;mites con otros paneles.&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="margin:24pt 0cm 0pt;"&gt;&lt;span style="font-family:Cambria;color:#365f91;font-size:large;"&gt;StackPanel&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Definido por las etiquetas &amp;lt;StackPanel&amp;gt;&amp;lt;/StackPanel&amp;gt;, este control es semejante al DockPanel, sin embargo se utiliza m&amp;aacute;s para definir un conjunto de controles ordenados, ya sea de modo horizontal o vertical, los controles se ordenen en el mismo orden que se describen dentro del XAML, respetan los m&amp;aacute;rgenes verticales (Top, Bottom) de los controles al estar orientados de manera vertical, y de la misma manera respetan los m&amp;aacute;rgenes horizontales (Left y Right) de los controles &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;al estar orientados de forma horizontal. La orientaci&amp;oacute;n de los controles se define con la propiedad Orientation que tiene dos valores, Vertical y Horizontal. Es &amp;uacute;til utilizar este control para hacer composiciones de controles, digamos como agrupar un TextBlock con un TextBox como una sola pieza dentro de otros controles contenedores manteniendo su relaci&amp;oacute;n de aspecto.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Existen otros controles contenedores como El GroupBox y el TabItem, sin embargo estos se utilizan con los controles anteriores, ya que solo pueden contener un control, por lo que es recomendable utilizar un grid o un canvas para mostrar el contenido. El GroupBox tiene una propiedad Header que hace m&amp;aacute;s visible la conceptualizaci&amp;oacute;n de un grupo de controles. El TabControl depende de otro control, el TabItem para mostrar los tabs o pesta&amp;ntilde;as, y tiene la misma limitante que el GroupBox.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Pues bien, espero que sea de utilidad esta informaci&amp;oacute;n para ubicar r&amp;aacute;pidamente los elementos primarios del dise&amp;ntilde;o de la interfaz de usuario con WPF. M&amp;aacute;s detalles del funcionamiento, eventos y propiedades de estos controles lo pueden encontrar en el MSDN Library, ya sea en l&amp;iacute;nea (&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/library"&gt;&lt;span style="font-family:Calibri;color:#0000ff;font-size:small;"&gt;http://msdn.microsoft.com/library&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;) , o bien en el que se instala con visual studio o las versiones express de visual studio.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Temas relacionados:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;a href="http://msmvps.com/blogs/otelis/archive/2009/02/25/introducci-243-n-al-uso-de-xaml-en-wpf.aspx"&gt;&lt;span style="font-family:Calibri;color:#0000ff;font-size:small;"&gt;http://msmvps.com/blogs/otelis/archive/2009/02/25/introducci-243-n-al-uso-de-xaml-en-wpf.aspx&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Saludos&amp;hellip;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-ansi-language:ES-MX;mso-bidi-language:AR-SA;"&gt;Octavio Telis&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Introducci&amp;#243;n al uso de XAML en WPF</title><link>http://msmvps.com/blogs/otelis/archive/2009/02/25/introducci-243-n-al-uso-de-xaml-en-wpf.aspx</link><pubDate>Wed, 25 Feb 2009 06:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1673704</guid><dc:creator>otelis</dc:creator><description>&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Hola &amp;iquest;qu&amp;eacute; tal?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;En esta ocasi&amp;oacute;n voy a platicar sobre lo que es WPF, y bueno, m&amp;aacute;s que decir lo qu&amp;eacute; es&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;(que ya la gran mayor&amp;iacute;a lo ha escuchado) pues quiero dar una breve, r&amp;aacute;pida y concisa introducci&amp;oacute;n a su uso con Visual Studio 2008 y WPF Forms.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Primeramente definamos WPF. Bien pues WPF es Windows Presentation Foundation, una nueva tecnolog&amp;iacute;a para la construcci&amp;oacute;n de la interfaz de usuario en windows que se ha agregado como pilar fundamental en la liberaci&amp;oacute;n del .NET Framework 3.0 y que se ha mejorado y extendido en el .NET Framework 3.5. WPF dentro del desarrollo de aplicaciones utiliza un lenguaje de marcado basado en XML al que se le denomina XAML (eXtensible Application Markup Language), este lenguaje de marcado es utilizado tambi&amp;eacute;n por WF (Workflow Foundation) y por WCF (Windows Comunication Foundation), y tiene las mismas reglas que XML, tales como el contenido &amp;uacute;nico de un elemento ra&amp;iacute;z, la utilizaci&amp;oacute;n de Etiquetas de apertura y cierre, el uso de par&amp;aacute;metros, y tambi&amp;eacute;n el uso de Namespaces, b&amp;aacute;sicamente es XML, y la diferencia es que en XAML se tienen espacios de nombres con la definici&amp;oacute;n espec&amp;iacute;fica de los elementos de la aplicaci&amp;oacute;n, en nuestro caso nos ocupa WPF, por lo que encontraremos que la definici&amp;oacute;n de la ventana, y los controles de una aplicaci&amp;oacute;n WPF para Windows estar&amp;aacute; definida completamente en XAML con etiquetas propias para esta tarea.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Para introducirlos a WPF, siempre se comenta que si han utilizado ASP.NET &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;pues les ser&amp;aacute; muy familiar, ya que las p&amp;aacute;ginas de ASP.NET est&amp;aacute;n definidas con XHTML de una forma muy parecida a como se definen en XAML&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;los controles, pero bueno, ya ustedes encontrar&amp;aacute;n la similitud.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Bien, hablando de aplicaciones WPF para Windows, veremos que el elemento ra&amp;iacute;z de la ventana es nada m&amp;aacute;s y nada menos que&amp;hellip; Window; aunque no les parezca l&amp;oacute;gico, pero es as&amp;iacute;, la definici&amp;oacute;n es simple, sin embargo siempre incluye la declaraci&amp;oacute;n de ciertos espacios de nombres necesarios para la presentaci&amp;oacute;n de la interfaz de usuario, aqu&amp;iacute; les muestro un ejemplo:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;Window&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; x&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;:&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;Class&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;=&amp;quot;Window1&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;:&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;x&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-no-proof:yes;"&gt;Window&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Podemos ver que se utiliza la etiqueta Window y como par&amp;aacute;metros se incluyen la declaraci&amp;oacute;n de dos espacios de nombres y un par&amp;aacute;metro que indica la clase con la que se asocia la funcionalidad de la ventana. Ahora bien, las propiedades de la ventana se definen de igual manera dentro de esta etiqueta, digamos que el alto y ancho de la venta, as&amp;iacute; como su t&amp;iacute;tulo, eventos y otras propiedades ser&amp;aacute;n puestos como par&amp;aacute;metros en esta etiqueta, como les muestro a continuaci&amp;oacute;n:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;Window&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; x&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;:&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;Class&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;=&amp;quot;Window1&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;:&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;x&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;mso-no-proof:yes;"&gt;Title&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;=&amp;quot;Window1&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;mso-no-proof:yes;"&gt; Height&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;=&amp;quot;100&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;mso-no-proof:yes;"&gt; Width&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;=&amp;quot;300&amp;quot; &amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-no-proof:yes;"&gt;Window&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;En este bloque se puede ver que agregu&amp;eacute; el t&amp;iacute;tulo y las propiedades Height y Width, cabe hacer notar que los valores de las propiedades est&amp;aacute;n escritos entre comillas y siempre ser&amp;aacute;n tomados como texto. Este c&amp;oacute;digo se guarda en un archivo con extensi&amp;oacute;n .XAML y est&amp;aacute; ligado a un archivo .CS o .VB seg&amp;uacute;n sea C# o Visual Basic, en el cual se escribir&amp;aacute; la funcionalidad de la ventana utilizando el lenguaje que ya conocemos.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Ahora, lo que falta&amp;hellip;. Ya tengo mi ventana, pero d&amp;oacute;nde voy a dibujar mis controles, c&amp;oacute;mo los voy a ordenar y c&amp;oacute;mo se van a mostrar. Cuando se crea una ventana WPF en Visual Studio 2008 se agrega esta declaraci&amp;oacute;n y adem&amp;aacute;s se agrega dentro del elemento Window un control denominado Grid, que no debemos confundir con el DataGrid que se utilizaba anteriormente. Este control Grid ser&amp;aacute; el que se encarga de mostrar los controles en el orden que nosotros definamos y puede ser utilizado an&amp;aacute;logamente como una tabla de HTML, se pueden definir columnas y renglones y confinar los controles a una celda espec&amp;iacute;fica. Veamos primeramente c&amp;oacute;mo se muestra la ventana al ser creada por primera vez:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;Window&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; x&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;:&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;Class&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;=&amp;quot;Window1&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;:&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;x&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;Title&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Window1&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Height&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;100&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Width&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;300&amp;quot; &amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;Grid&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-no-proof:yes;"&gt;Grid&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-no-proof:yes;"&gt;Window&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;En este ejemplo el elemento Grid, no tiene definida ninguna propiedad por lo que el ancho y alto ser&amp;aacute; limitado por la dimensi&amp;oacute;n definida en la ventana, esto es &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;100 x 300, y no se han definido propiedades por los siguiente; el Grid se ver&amp;aacute; como el &amp;aacute;rea de trabajo para el dise&amp;ntilde;o de la venta, por esta raz&amp;oacute;n no define ninguna propiedad. Otra de las razones importantes de utilizar un Grid es porque de no hacerlo solo podr&amp;iacute;amos declarar un control dentro de la ventana, ya que entre la etiqueta se apertura y cierre, que corresponde a la propiedad Content (contenido) de la ventana, solo puede contener un control, en cambio, el Grid, puede contener a varios controles.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Agregar&amp;eacute; un control TextBlock, para ilustrar algunas de las propiedades b&amp;aacute;sicas de los controles utilizados dentro de un Grid:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;Window&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; x&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;:&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;Class&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;=&amp;quot;UsoWPF.Window1&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;:&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;x&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;Title&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Window1&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Height&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;100&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Width&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;300&amp;quot;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;Grid&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;TextBlock&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; Margin&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;=&amp;quot;10,10,10,0&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; Text&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;=&amp;quot;Espere un momento...&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;Height&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;25&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; VerticalAlignment&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Top&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-no-proof:yes;"&gt;Grid&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-no-proof:yes;"&gt;Window&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Como se puede observar, el TextBlock tiene definidas algunas propiedades; Margin, Text, Height y VerticalAlignment. La propiedad Text pues no tiene mucho que decir, pues es la que se encarga de mostrar el texto. Las otras propiedades tienen sus particularidades.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;En general la propiedad Height est&amp;aacute; presente en la mayor&amp;iacute;a de los controles, y es para indicar la altura del mismo, si no se define, o en algunos casos se define el valor Auto, el control tomar&amp;aacute; la altura del contenedor, en este caso del Grid, lo mismo pasa con la propiedad Width que no he definido en el ejemplo, con lo que el control se ajustar&amp;aacute; al ancho del Grid, pero&amp;hellip; s&amp;iacute;, hay un pero, estoy definiendo la propiedad Margin, que define el margen del control, esto es, la distancia que guarda un control con los l&amp;iacute;mites de su contenedor.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;La propiedad Margin, se escribe con cuatro valores separados por comas que definen la distancia entre los l&amp;iacute;mites de su contenedor en el siguiente orden:&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;margen izquierdo, margen superior, margen derecho, margen inferior. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;En este caso, aunque el TextBlock no define el ancho, se ajustar&amp;aacute; al Grid manteniendo la distancia de 10 pixeles entre el extremo derecho e izquierdo, adem&amp;aacute;s,&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;mantendr&amp;aacute; una distancia de 10 pixeles con la parte superior,&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;y podr&amp;iacute;amos suponer que tendr&amp;iacute;a una distancia al inferior, sin embargo, al declararse el valor de la propiedad Height se descarta el valor inferior del margen quedando el control con la altura definida en Height. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;En el ejemplo utilic&amp;eacute; la propiedad VerticalAlignment con el valor &amp;ldquo;Top&amp;rdquo;, esta propiedad tiene cuatro valores; Bottom, Center, Stretch y Top. En s&amp;iacute; es la alineaci&amp;oacute;n vertical donde se indica que el control puede estar alineado verticalmente en la base de su contenedor, en el centro, ajustarse al tama&amp;ntilde;o en relaci&amp;oacute;n al tama&amp;ntilde;o de su contenedor o en la parte superior. VerticalAlignment es el sustituto de la propiedad Anchor que se utilizaba para anclar un control, pero solo con respecto a su posici&amp;oacute;n vertical. Si se define el valor Bottom, el control se anclar&amp;aacute; en la parte inferior, si se define Top el control se anclar&amp;aacute; en la parte superior, si se define Center el control se anclar&amp;aacute; en el centro del contenedor y si se define Stretch el control se ajustar&amp;aacute; al tama&amp;ntilde;o del contenedor de manera proporcional. Para completar el anclaje del control tendr&amp;iacute;a que definirse adem&amp;aacute;s la propiedad HorizontalAlignment, que puede tener uno de los siguientes valores; Center, Left, Right o Stretch, que tienen un comportamiento an&amp;aacute;logo al VerticalAlignment solo que de modo horizontal.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;La ubicaci&amp;oacute;n de los controles se da con la combinaci&amp;oacute;n de las propiedades Height, Widht, VerticalAlignment, HorizontalAlignment y Margin. Si se utilizan las primeras cuatro, Margin no tendr&amp;aacute; efecto en el control en alguno de sus valores, un ejemplo es el que se muestra en el c&amp;oacute;digo de arriba. Otro caso es si se define VerticalAlignment = &amp;ldquo;Top&amp;rdquo; y HorizontalAlignment = &amp;ldquo;Left&amp;rdquo;, entonces los valores de margen derecho y margen inferior ser&amp;aacute;n descartados. Esto debido a que el control queda anclado en la parte superior izquierda de su contenedor.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Bien, pues con esto quiero concluir esta introducci&amp;oacute;n, esperando que quede claro el concepto de XAML y la manera en que se posicionan los controles en una ventana de WPF. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Espero que les sea de utilidad.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Saludos&amp;hellip;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;mso-ansi-language:ES-MX;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Octavio Telis&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Expression Blend Tip: Modifying the Rows or Columns of a Grid</title><link>http://msmvps.com/blogs/jgaylord/archive/2008/04/07/expression-blend-tip-modifying-the-rows-or-columns-of-a-grid.aspx</link><pubDate>Mon, 07 Apr 2008 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1577515</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;It took me a couple of minutes to realize that RowDefinitions and ColumnDefinitions of a Grid are in the Advanced Properties of the Layout category. For more information about using a Grid to layout data, you can read more on Scott Guthrie&amp;#39;s blog at &lt;a href="http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-2-using-layout-management.aspx"&gt;http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-2-using-layout-management.aspx&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6073099" width="1" height="1" alt="" /&gt;</description></item><item><title>XAML Tip: Adding a Line Break to a TextBlock</title><link>http://msmvps.com/blogs/jgaylord/archive/2008/04/07/xaml-tip-adding-a-line-break-to-a-textblock.aspx</link><pubDate>Mon, 07 Apr 2008 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1577475</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;I&amp;#39;m just starting to mess with XAML as I&amp;#39;m looking to see what I can do with it. As I come across some pretty basic tasks that I&amp;#39;m struggling with, I&amp;#39;ll post about it in case any other newbies run into the same issue. One of my first tasks was to create some text on a canvas. However, I couldn&amp;#39;t figure out how to do a line break. After searching Live and Google in an attempt to find something, I finally did (on page 3 of each engine). There is an object called &amp;lt;LineBreak/&amp;gt; that will perform a line break in your text. For example:&lt;/p&gt;
&lt;p&gt;&amp;lt;TextBlock Margin=&amp;quot;5,5,5,5&amp;quot;&amp;gt;This is line 1.&amp;lt;LineBreak/&amp;gt;This is line 2.&amp;lt;/TextBlock&amp;gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6073097" width="1" height="1" alt="" /&gt;</description></item></channel></rss>