<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Channel 9 - Discussions by Mauricio Feijo</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS"></atom:link>
	<image>
		<url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url>
		<title>Channel 9 - Discussions by Mauricio Feijo</title>
		<link>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions</link>
	</image>
	<description>Channel 9 keeps you up to date with the latest news and behind the scenes info from Microsoft that developers love to keep up with. From LINQ to SilverLight – Watch videos and hear about all the cool technologies coming and the people behind them.</description>
	<link>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions</link>
	<language>en</language>
	<pubDate>Mon, 20 May 2013 07:32:59 GMT</pubDate>
	<lastBuildDate>Mon, 20 May 2013 07:32:59 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<c9:totalResults>0</c9:totalResults>
	<c9:pageCount>0</c9:pageCount>
	<c9:pageSize>0</c9:pageSize>
	<item>
		<title>Tech Off - A very simple implementation sample of MVVM for the Windows Phone</title>
		<description><![CDATA[<p>Continuing to Brush up in WPF/MVVM, and because I have been doing WP7 and WP8 for the last 2 months or so, today I decided to write some sample code implementing MVVM on a simple Windows Phone app.</p><p>I am trying to keep it simple, so no RelayCommand, no factory abstraction, etc, etc... But this makes it pretty simple to understand how the moving pieces fit together in MVVM, while touching a bit of Commanding. Here it goes:</p><p>First the Page that will contain it all:</p><p>&nbsp;</p><p><pre class="brush: xml">
&lt;phone:PhoneApplicationPage 
    x:Class=&quot;Memo.MainPage&quot;
    xmlns=&quot;<a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;">http&#58;&#47;&#47;schemas.microsoft.com&#47;winfx&#47;2006&#47;xaml&#47;presentation&#34;</a>
    xmlns:x=&quot;<a href="http://schemas.microsoft.com/winfx/2006/xaml&quot;">http&#58;&#47;&#47;schemas.microsoft.com&#47;winfx&#47;2006&#47;xaml&#34;</a>
    xmlns:phone=&quot;clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone&quot;
    xmlns:shell=&quot;clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone&quot;
    xmlns:d=&quot;<a href="http://schemas.microsoft.com/expression/blend/2008&quot;">http&#58;&#47;&#47;schemas.microsoft.com&#47;expression&#47;blend&#47;2008&#34;</a>
    xmlns:mc=&quot;<a href="http://schemas.openxmlformats.org/markup-compatibility/2006&quot;">http&#58;&#47;&#47;schemas.openxmlformats.org&#47;markup-compatibility&#47;2006&#34;</a>
    mc:Ignorable=&quot;d&quot; d:DesignWidth=&quot;480&quot; d:DesignHeight=&quot;768&quot;
    FontFamily=&quot;{StaticResource PhoneFontFamilyNormal}&quot;
    FontSize=&quot;{StaticResource PhoneFontSizeNormal}&quot;
    Foreground=&quot;{StaticResource PhoneForegroundBrush}&quot;
    SupportedOrientations=&quot;Portrait&quot; Orientation=&quot;Portrait&quot;
    shell:SystemTray.IsVisible=&quot;True&quot;&gt;

    &lt;!--LayoutRoot is the root grid where all page content is placed--&gt;
    &lt;Grid x:Name=&quot;LayoutRoot&quot; Background=&quot;Transparent&quot;&gt;
        &lt;Grid.RowDefinitions&gt;
            &lt;RowDefinition Height=&quot;Auto&quot;/&gt;
            &lt;RowDefinition Height=&quot;*&quot;/&gt;
        &lt;/Grid.RowDefinitions&gt;

        &lt;!--TitlePanel contains the name of the application and page title--&gt;
        &lt;StackPanel x:Name=&quot;TitlePanel&quot; Grid.Row=&quot;0&quot; Margin=&quot;12,17,0,28&quot;&gt;
            &lt;TextBlock x:Name=&quot;PageTitle&quot; Text=&quot;Memo&quot; Margin=&quot;9,-7,0,0&quot; Style=&quot;{StaticResource PhoneTextTitle1Style}&quot;/&gt;
        &lt;/StackPanel&gt;

        &lt;!--ContentPanel - place additional content here--&gt;
        &lt;Grid x:Name=&quot;ContentPanel&quot; Grid.Row=&quot;1&quot; Margin=&quot;12,0,12,0&quot;&gt;
        &lt;/Grid&gt;
    &lt;/Grid&gt;

&lt;/phone:PhoneApplicationPage&gt;
</pre></p><p>So far its just what VS12 created on its own. Below I added the view to the ContentPanel Children collection. I don't really like this, but just so I don't have to spend time trying to figure out how to make a ContentPresenter take all available space. And no, using Stretch won't work.</p><p><pre class="brush: csharp">using Microsoft.Phone.Controls;
using Memo.Views;

namespace Memo
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();
            ContentPanel.Children.Add(new MemoView());
        }
    }
}</pre></p><p>&nbsp;</p><p>Now to the View. MVVM, as we all know means MODEL-VIEW-VIEW MODEL. Below is the VIEW part of the pattern.&nbsp;For &nbsp;this to be more agnostic, we would have a framework injecting the ViewModel in the View DataContext. Or we could have done that on App, or Page. But for this example, this is simple enough:</p><p>&nbsp;</p><p>&nbsp;<pre class="brush: xml">&lt;UserControl x:Class=&quot;Memo.Views.MemoView&quot;
             xmlns=&quot;<a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;">http&#58;&#47;&#47;schemas.microsoft.com&#47;winfx&#47;2006&#47;xaml&#47;presentation&#34;</a>
             xmlns:x=&quot;<a href="http://schemas.microsoft.com/winfx/2006/xaml&quot;">http&#58;&#47;&#47;schemas.microsoft.com&#47;winfx&#47;2006&#47;xaml&#34;</a>
             xmlns:d=&quot;<a href="http://schemas.microsoft.com/expression/blend/2008&quot;">http&#58;&#47;&#47;schemas.microsoft.com&#47;expression&#47;blend&#47;2008&#34;</a>
             xmlns:mc=&quot;<a href="http://schemas.openxmlformats.org/markup-compatibility/2006&quot;">http&#58;&#47;&#47;schemas.openxmlformats.org&#47;markup-compatibility&#47;2006&#34;</a>
             mc:Ignorable=&quot;d&quot;
             FontFamily=&quot;{StaticResource PhoneFontFamilyNormal}&quot;
             FontSize=&quot;{StaticResource PhoneFontSizeNormal}&quot;
             Foreground=&quot;{StaticResource PhoneForegroundBrush}&quot;
             HorizontalAlignment=&quot;Stretch&quot;
             VerticalAlignment=&quot;Stretch&quot;
             d:DesignHeight=&quot;480&quot;
             d:DesignWidth=&quot;480&quot;&gt;

    &lt;Grid x:Name=&quot;LayoutRoot&quot;
          Background=&quot;{StaticResource PhoneChromeBrush}&quot;&gt;
        &lt;Grid.RowDefinitions&gt;
            &lt;RowDefinition Height=&quot;*&quot; /&gt;
            &lt;RowDefinition Height=&quot;Auto&quot; /&gt;
        &lt;/Grid.RowDefinitions&gt;
        &lt;TextBox x:Name=&quot;txtMemoText&quot;
                 Grid.Row=&quot;0&quot;
                 Text=&quot;{Binding Mode=TwoWay, Path=MemoText}&quot;
                 TextWrapping=&quot;Wrap&quot; /&gt;
        &lt;Button Command=&quot;{Binding SaveCommand}&quot;
                Grid.Row=&quot;1&quot;
                CommandParameter=&quot;{Binding}&quot;&gt;Save&lt;/Button&gt;
    &lt;/Grid&gt;
&lt;/UserControl&gt;</pre></p><p>&nbsp;</p><p>and the code behind does nothing but set the DataContext. This could easily be done in XAML as well.</p><p>&nbsp;</p><p><pre class="brush: csharp">using System.Windows.Controls;
using Memo.ViewModels;

namespace Memo.Views
{
    public partial class MemoView : UserControl
    {
        public MemoView()
        {
            InitializeComponent();
            DataContext = new MemoViewModel();
        }
    }
}
</pre></p><p>Above we set the View's DataContext to the ViewModel. Here is a simple view model that works well for this exercise:</p><p>&nbsp;&nbsp;</p><p>&nbsp;<pre class="brush: csharp">using System.ComponentModel;

namespace Memo.ViewModels
{
    public class MemoViewModel : INotifyPropertyChanged
    {


        private string memoText;
        public string MemoText
        {
            get
            {
                return memoText;
            }
            set
            {
                if (memoText != value)
                {
                    memoText = value;
                    OnPropertyChanged(&quot;MemoText&quot;);
                }

                // If text is empty cannot execute save command
                if (saveCommand != null)
                {
                    if (memoText != null &amp;&amp; memoText.Length &gt; 0)
                        saveCommand.Enabled = true;
                    else
                        saveCommand.Enabled = false;
                }
            }
        }

        private Command saveCommand;
        public Command SaveCommand
        {
            get
            {
                if (saveCommand == null)
                    saveCommand = new Command(SaveMemo);
                return saveCommand;
            }
            set
            {
                saveCommand = value;
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;

        private void OnPropertyChanged(string PropertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(PropertyName));
            }
        }

        private void SaveMemo()
        {
            // Does stuff here to save the memo to memory;
        }
    }
}
</pre></p><p>&nbsp;</p><p>I used a custom Command classs that implements ICommand. I will love to hear the comments on the Enabled property. <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /> This works, but even keeping simplicity, I feel it could be better:</p><p>&nbsp;</p><p><pre class="brush: text">using System;
using System.Windows.Input;

namespace Memo
{
    public class Command : ICommand
    {

        private readonly Action executeAction;

        private bool enabled;
        public bool Enabled
        {
            get
            {
                return enabled;
            }
            set
            {
                if (enabled != value)
                {
                    enabled = value;

                    if (CanExecuteChanged != null)
                        CanExecuteChanged(this, new EventArgs());
                }
            }
        }

        public Command(Action executeAction)
        {
            this.executeAction = executeAction;
        }

        public bool CanExecute(object parameter)
        {
            return enabled;
        }

        public event EventHandler CanExecuteChanged;

        public void Execute(object parameter)
        {
            executeAction();
        }
    }
}
</pre></p><p>And finally a simple Model. I should have passed the Command all the way over here and the model executes, for better separation of concerns, but really want to keep it simple. Still I believe very useful for those trying to understand the MVVM pattern.</p><p>&nbsp;</p><p><pre class="brush: csharp">using System.ComponentModel;

namespace Memo.Models
{
    class MemoModel : INotifyPropertyChanged
    {

        public event PropertyChangedEventHandler PropertyChanged;

        private void OnPropertyChanged(string PropertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(PropertyName));
            }
        }

        private string memoText;
        public string MemoText
        {
            get
            {
                return memoText;
            }
            set
            {
                if (memoText != value)
                {
                    memoText = value;
                    OnPropertyChanged(&quot;MemoText&quot;);
                }
            }
        }
    }
}
</pre></p><p>There it is. It worked on my box. Let me know your thoughts.</p><p>Thanks!</p><p>Mauricio Feijo</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/A-very-simple-implementation-sample-of-MVVM-for-the-Windows-Phone/a2721354e095466c91e2a178012c3f87#a2721354e095466c91e2a178012c3f87</link>
		<pubDate>Tue, 05 Mar 2013 18:13:10 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/A-very-simple-implementation-sample-of-MVVM-for-the-Windows-Phone/a2721354e095466c91e2a178012c3f87#a2721354e095466c91e2a178012c3f87</guid>
		<dc:creator>Mauricio Feijo</dc:creator>
		<slash:comments>2</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - A simple and pure C# implementation of the good old linked list</title>
		<description><![CDATA[<p>@<a href="/Forums/TechOff/A-simple-and-pure-C-implementation-of-the-good-old-linked-list#cb5752b1a25db466f9d97a1780011dfcc">MasterPie</a>: Like</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/A-simple-and-pure-C-implementation-of-the-good-old-linked-list/ee69137c53844bbea9fda17801247671#ee69137c53844bbea9fda17801247671</link>
		<pubDate>Tue, 05 Mar 2013 17:44:49 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/A-simple-and-pure-C-implementation-of-the-good-old-linked-list/ee69137c53844bbea9fda17801247671#ee69137c53844bbea9fda17801247671</guid>
		<dc:creator>Mauricio Feijo</dc:creator>
		<slash:comments>11</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - A simple and pure C# implementation of the good old linked list</title>
		<description><![CDATA[<p>@<a href="/Forums/TechOff/A-simple-and-pure-C-implementation-of-the-good-old-linked-list#c9353717b7e3b46aeb79ea176001c7dcb">PopeDai</a>: Yep, I agree. Thing is, requirements dictated, no generics, no Collections and also dictated the method names.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/A-simple-and-pure-C-implementation-of-the-good-old-linked-list/0fdfe5556cc644ec8c6ba1780124147c#0fdfe5556cc644ec8c6ba1780124147c</link>
		<pubDate>Tue, 05 Mar 2013 17:43:25 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/A-simple-and-pure-C-implementation-of-the-good-old-linked-list/0fdfe5556cc644ec8c6ba1780124147c#0fdfe5556cc644ec8c6ba1780124147c</guid>
		<dc:creator>Mauricio Feijo</dc:creator>
		<slash:comments>11</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - A simple and pure C# implementation of the good old linked list</title>
		<description><![CDATA[<p>While interviewing for a gig I was asked to complete an assignment, as a test. The request was to implement a C# linked list, without using Collections.&nbsp; They also required me to write Add, Delete and Retrieve methods with the signatures as they are in the code below.</p><p>This is an ages old exercise but every time a do it&nbsp;I feel it gets a bit cleaner and better.</p><p>With no more delay, here is the code:</p><p><pre class="brush: csharp">
using System;

namespace LinkedListExample
{
    public class List
    {

        public class Node
        {
            public object NodeContent;
            public Node Next;
        }

        private int size;
        public int Count
        {
            get
            {
                return size;
            }
        }

        /// &lt;summary&gt;
        /// The head of the list.
        /// &lt;/summary&gt;
        private Node head;

        /// &lt;summary&gt;
        /// The current node, used to avoid adding nodes before the head
        /// &lt;/summary&gt;
        private Node current;

        public List()
        {
            size = 0;
            head = null;
        }


        /// &lt;summary&gt;
        /// Add a new Node to the list.
        /// &lt;/summary&gt;
        public void Add(object content)
        {
            size&#43;&#43;;

            // This is a more verbose implementation to avoid adding nodes to the head of the list
            var node = new Node()
            {
                NodeContent = content
            };

            if (head == null)
            {
                // This is the first node. Make it the head
                head = node;
            }
            else
            {
                // This is not the head. Make it current's next node.
                current.Next = node;
            }

            // Makes newly added node the current node
            current = node;


            // This implementation is simpler but adds nodes in reverse order. It adds nodes to the head of the list

            //head = new Node()
            //{
            //    Next = head,
            //    NodeContent = content
            //};

        }

        /// &lt;summary&gt;
        ///  Throwing this in to help test the list
        /// &lt;/summary&gt;
        public void ListNodes()
        {
            Node tempNode = head;

            while (tempNode != null)
            {
                Console.WriteLine(tempNode.NodeContent);
                tempNode = tempNode.Next;
            }
        }



        /// &lt;summary&gt;
        /// Returns the Node in the specified position or null if inexistent
        /// &lt;/summary&gt;
        /// &lt;param name=&quot;Position&quot;&gt;One based position of the node to retrieve&lt;/param&gt;
        /// &lt;returns&gt;The desired node or null if inexistent&lt;/returns&gt;
        public Node Retrieve(int Position)
        {
            Node tempNode = head;
            Node retNode = null;
            int count = 0;

            while (tempNode != null)
            {
                if (count == Position - 1)
                {
                    retNode = tempNode;
                    break;
                }
                count&#43;&#43;;
                tempNode = tempNode.Next;
            }

            return retNode;
        }

        /// &lt;summary&gt;
        /// Delete a Node in the specified position
        /// &lt;/summary&gt;
        /// &lt;param name=&quot;Position&quot;&gt;Position of node to be deleted&lt;/param&gt;
        /// &lt;returns&gt;Successful&lt;/returns&gt;
        public bool Delete(int Position)
        {
            if (Position == 1)
            {
                head = null;
                current = null;
                return true;
            }

            if (Position &gt; 1 &amp;&amp; Position &lt;= size)
            {
                Node tempNode = head;

                Node lastNode = null;
                int count = 0;

                while (tempNode != null)
                {
                    if (count == Position - 1)
                    {
                        lastNode.Next = tempNode.Next;
                        return true;
                    }
                    count&#43;&#43;;

                    lastNode = tempNode;
                    tempNode = tempNode.Next;
                }
            }

            return false;
        }
    }
}
</pre></p><p>&nbsp;</p><p>I added a client console app to test the linked list. Here is how it turned out:</p><p>&nbsp;</p><p><pre class="brush: csharp">
using LinkedListExample;
using System;

namespace LinkedListExampleClient
{
    class Program
    {
        static void Main(string[] args)
        {
            List list = new List();
    
            list.Add(&quot;A&quot;);
            list.Add(&quot;B&quot;);
            list.Add(&quot;C&quot;);
            list.Add(&quot;D&quot;);
            list.Add(&quot;E&quot;);
            list.Add(&quot;F&quot;);
            list.Add(&quot;G&quot;);
            list.Add(&quot;H&quot;);

            list.ListNodes();
            Console.WriteLine();

            Console.WriteLine();
            Console.WriteLine(&quot;Deleting node 8&quot;);
            list.Delete(8);
            list.ListNodes();
            
            Console.WriteLine();
            Console.WriteLine(&quot;Position 5: &quot; &#43; list.Retrieve(5).NodeContent);

            Console.WriteLine();
            Console.WriteLine(&quot;Deleting node 5&quot;);
            list.Delete(5);

            Console.WriteLine();
            Console.WriteLine(&quot;Position 5: &quot; &#43; list.Retrieve(5).NodeContent);

            Console.WriteLine();
            list.ListNodes();

            Console.ReadLine();

        }
    }
}
</pre></p><p>&nbsp;</p><p>So running the client, we can see the linked list adding nodes ( In the correct order. See the Add method in code for details on that.), Listing, deleting and retrieving.</p><p>&nbsp;</p><p>This was a fun little implementation, so I thought I'd share.</p><p>&nbsp;</p><p>I appreciate&nbsp; your comments. Thanks!</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/A-simple-and-pure-C-implementation-of-the-good-old-linked-list/58d7c031f2874357aff4a174011aab9c#58d7c031f2874357aff4a174011aab9c</link>
		<pubDate>Fri, 01 Mar 2013 17:09:10 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/A-simple-and-pure-C-implementation-of-the-good-old-linked-list/58d7c031f2874357aff4a174011aab9c#58d7c031f2874357aff4a174011aab9c</guid>
		<dc:creator>Mauricio Feijo</dc:creator>
		<slash:comments>11</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Localizing Windows Phone 8 applications</title>
		<description><![CDATA[<p>Does anyone know whats going on with the formatting?</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/Localizing-Windows-Phone-8-applications/9c5e535df32d4dc782b5a14a015783f6#9c5e535df32d4dc782b5a14a015783f6</link>
		<pubDate>Fri, 18 Jan 2013 20:50:42 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/Localizing-Windows-Phone-8-applications/9c5e535df32d4dc782b5a14a015783f6#9c5e535df32d4dc782b5a14a015783f6</guid>
		<dc:creator>Mauricio Feijo</dc:creator>
		<slash:comments>2</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Localizing Windows Phone 8 applications</title>
		<description><![CDATA[<p>Microsoft made it so easy to localize applications on the Windows Phone 8 platform. It is really a no brainer at this point.</p><p>I will not mention best patterns and practices here. You can read all about that at&nbsp;<a href="http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff967552(v=vs.105).aspx">http&#58;&#47;&#47;msdn.microsoft.com&#47;en-us&#47;library&#47;windowsphone&#47;develop&#47;ff967552&#40;v&#61;vs.105&#41;.aspx</a></p><p>Here&nbsp;is how it happens: When Windows Phone 8 starts your app it chooses which AppResources file to use when we access the AppResources class in code. BAM! That is it!</p><p>All we have to do at development time is use that class instead of a literal.</p><p><strong>In C# instead of:</strong></p><p><pre class="brush: text">
saveButton.Text = &quot;Save&quot; ;
</pre></p><p>we use</p><p><pre class="brush: text">
saveButton.Text = AppResources.SaveButtonText;
</pre></p><p>When typing the resource name of your choice, in my example &quot;SaveButtonText&quot;, you will notice Visual Studio puts a red squiggle underneath the name. It is because you still haven't created the resource. To do that open AppResourcex.resx under &quot;Resource&quot; in solution explorer and add the resource name and value to the list. Once the resource name is entered in the list, the red squiggle&nbsp;disappears&nbsp;and you are good to go.&nbsp;</p><p>Lets take a&nbsp;look&nbsp;at XAML as well. Most times XAML is what you will be using. In XAML it is a bit more verbose, but not rocket surgery either:</p><p><pre class="brush: text">
&lt;ApplicationBarIconButton Text=&quot;Save&quot; ... /&gt;
</pre></p><p>we use</p><p><pre class="brush: text">
&lt;ApplicationBarIconButton Text=&quot;{Binding Path=LocalizedResources.SaveButtonText, Source={StaticResource LocalizedStrings}}&quot; ... /&gt;
</pre></p><p>You can now build and run your app and all should work as it did before we started localizing.</p><p><strong>Adding languages:</strong></p><p>Now go to the Properties page of your project, under &quot;Supported Cultures&quot; , and select which&nbsp;languages&nbsp;and culture will be supported. I started with Portuguese and Spanish. English was already checked.</p><p>After making that change and saving visual studio will have created one AppResources.resx file for each culture/language you added. You can now open those and change the values to the values on each specific language.</p><p>I may be wrong, but it seems Visual Studio copies the AppResources.resx file from the default language to each new language, so you might want to do this as the very last minute, after your app is ready, or you may need to enter each resource manually on each resx file.&nbsp;Unless&nbsp;there is some sort of refresh functionality I am not aware of.</p><p><strong>So in bullet points:</strong></p><ul><li>Use AppResource instead of &quot;text&quot; </li><li>Create each resource as you go on the default resource file </li><li>Choose your languages at the project Properties page </li><li>Translate each&nbsp;resource on their language specific resx files. </li></ul><p>Done! Easy huh?</p><p>Hope this helps some people. As usual, let me know if I screwed up something.&nbsp;Thanks!</p><p>&nbsp;</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/Localizing-Windows-Phone-8-applications/3a60baa5e3944ee6ab34a14a01561709#3a60baa5e3944ee6ab34a14a01561709</link>
		<pubDate>Fri, 18 Jan 2013 20:45:30 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/Localizing-Windows-Phone-8-applications/3a60baa5e3944ee6ab34a14a01561709#3a60baa5e3944ee6ab34a14a01561709</guid>
		<dc:creator>Mauricio Feijo</dc:creator>
		<slash:comments>2</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Swapping application bars dynamically on Windows Phone 8</title>
		<description><![CDATA[<p>Thank Herbie!</p><p>I am not really sure if it will work on &nbsp;WP7. Hopefully it will. If you try let us know the results.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/Swapping-application-bars-dynamically-on-Windows-Phone-8/f92428fd66e64567af36a148010c15ef#f92428fd66e64567af36a148010c15ef</link>
		<pubDate>Wed, 16 Jan 2013 16:16:04 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/Swapping-application-bars-dynamically-on-Windows-Phone-8/f92428fd66e64567af36a148010c15ef#f92428fd66e64567af36a148010c15ef</guid>
		<dc:creator>Mauricio Feijo</dc:creator>
		<slash:comments>3</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Swapping application bars dynamically on Windows Phone 8</title>
		<description><![CDATA[<p>Its 5:20 AM and I woke up at 4:45 with an approach that would make my life easier. Had to code it. It worked beautifully, so I had to blog it to get opinions and help others.</p><p>&nbsp;</p><p>The app I am working on have 2 states, and on each state the user will see a different set of buttons and menu items on the app bar.</p><p>I didnt want to write the app bar completely in C#, for I always choose XAML over C# when possible. Otherwise we would just write it all in C#!&nbsp;</p><p>I started by creating the buttons as app resources in APP.XAML. Note that some buttons overlap both app bars, so this approach avoids having 2 buttons that do the same thing.</p><p><pre class="brush: text">
&lt;Application.Resources&gt;
&lt;shell:ApplicationBarIconButton x:Key=&quot;ChooseButton&quot; IconUri=&quot;/Images/ChooseButton.png&quot; Text=&quot;choose&quot;&gt;
...
&lt;/shell:ApplicationBarIconButton&gt;
</pre></p><p>&nbsp;I then added both app bars to APP.XAML resource as well, referencing the buttons as StaticResources</p><p><pre class="brush: text">
&lt;shell:ApplicationBar x:Key=&quot;AppBarState1&quot; IsVisible=&quot;True&quot; Opacity=&quot;0.5&quot;&gt;
&lt;shell:ApplicationBar.Buttons&gt;
&lt;StaticResource ResourceKey=&quot;ChooseButton&quot; /&gt;
...
&lt;/shell:ApplicationBar.Buttons&gt;
&lt;/shell:ApplicationBar&gt;
 
</pre></p><p>Now on the page code&nbsp;behind&nbsp;comes the inevitable C#. I feel this is perfectly OK as it has to do with procedure and&nbsp;intelligence&nbsp;rather then declaration.</p><p><pre class="brush: text">

var chooseButton = (ApplicationBarIconButton)App.Current.Resources[&quot;ChooseButton&quot;];
chooseButton.Click &#43;= ChooseButtonClick;
...
</pre></p><p>After setting up the button handlers we will decide which app bar to show and&nbsp;assign&nbsp;it to the page's ApplicationBar property:</p><p><pre class="brush: text">
ApplicationBar = (IApplicationBar)App.Current.Resources[&quot;AppBarState1&quot;]; // choose based on app state
 
</pre></p><p>&nbsp;I hope this helps some folks. If you think of a more elegant or appropriate way of achieving the same , please let us know.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/Swapping-application-bars-dynamically-on-Windows-Phone-8/6a9e1c47609d42f4a30aa14800aff468#6a9e1c47609d42f4a30aa14800aff468</link>
		<pubDate>Wed, 16 Jan 2013 10:40:37 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/Swapping-application-bars-dynamically-on-Windows-Phone-8/6a9e1c47609d42f4a30aa14800aff468#6a9e1c47609d42f4a30aa14800aff468</guid>
		<dc:creator>Mauricio Feijo</dc:creator>
		<slash:comments>3</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Using the geolocator on Windows Phone 8</title>
		<description><![CDATA[<p>I have been writing some code using the WP8 geolocator and have been finding many challenges &nbsp;as I go, and as this is all somewhat new at the time this is being written, I thought I'd open a forum to share those with &nbsp;others.</p><p>Here is one that I still haven't fully resolved: Should&nbsp;I use the Geolocator.PositionChanged event handler to update location or should I use the Geolocator.GetGeopositionAsync async method&nbsp;(using await to call) and test if the location changed by a given threshold before I make updates, to a map, for example?</p><p>I initially went for the direct call method. It worked well but seemed counter intuitive when I realized I could simply use an event handler and define the DesiredAccuracy to filter only good reads.</p><p>I then modified my code to use the event handler. All worked well, except that the reads are sporadic. Regardless of setting Geolocator.ReportInterval or the Geolocator.MovementThreshold&nbsp;the event fires at will.</p><p>I am working on this and will post developments.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/Using-the-geolocator-on-Windows-Phone-8/930204b38f38476eb07fa14600eb65f4#930204b38f38476eb07fa14600eb65f4</link>
		<pubDate>Mon, 14 Jan 2013 14:17:03 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/Using-the-geolocator-on-Windows-Phone-8/930204b38f38476eb07fa14600eb65f4#930204b38f38476eb07fa14600eb65f4</guid>
		<dc:creator>Mauricio Feijo</dc:creator>
		<slash:comments>2</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - WPF - Persisting window position, size, theme and layout. Saving to xml and application settings.</title>
		<description><![CDATA[<p>Today I am showing a simple implementation in WPF persisting window position, size, theme and layout. I am saving to xml and application settings.</p><p>I used Infragistics controls, but this could be the same code using either other vendor or WPF neat.</p><p>I have been trying to keep things as code based as possible, assuming if anyone have interest for details they would ask.</p><p><a href="http://i53.tinypic.com/2rrumtj.jpg" rel="lightbox"><img src="http://i53.tinypic.com/2rrumtj.jpg" alt="" width="571" height="426"></a></p><p>&nbsp;</p><p>Here is the XAML</p><p><pre class="brush: xml">&lt;igRibbon:XamRibbonWindow x:Class=&quot;HumanIdeas.GUI.Shell&quot;
                          xmlns=&quot;<a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;">http&#58;&#47;&#47;schemas.microsoft.com&#47;winfx&#47;2006&#47;xaml&#47;presentation&#34;</a>
                          xmlns:x=&quot;<a href="http://schemas.microsoft.com/winfx/2006/xaml&quot;">http&#58;&#47;&#47;schemas.microsoft.com&#47;winfx&#47;2006&#47;xaml&#34;</a>
                          xmlns:igRibbon=&quot;<a href="http://infragistics.com/Ribbon&quot;">http&#58;&#47;&#47;infragistics.com&#47;Ribbon&#34;</a>
                          xmlns:igDock=&quot;<a href="http://infragistics.com/DockManager&quot;">http&#58;&#47;&#47;infragistics.com&#47;DockManager&#34;</a>
                          xmlns:Themes=&quot;clr-namespace:Infragistics.Windows.Themes;assembly=InfragisticsWPF3.v10.3&quot;
                          xmlns:HI=&quot;<a href="http://schemas.HumanIdeas.com/HumanIdeas/windows&quot;">http&#58;&#47;&#47;schemas.HumanIdeas.com&#47;HumanIdeas&#47;windows&#34;</a>
                          MinHeight=&quot;600&quot;
                          MinWidth=&quot;800&quot;
                          FontFamily=&quot;Segoe UI&quot;
                          HI:WindowSettings.Save=&quot;True&quot;
                          Loaded=&quot;XamRibbonWindowLoaded&quot;
                          Closed=&quot;XamRibbonWindowClosed&quot;
                          &gt;

    &lt;igRibbon:XamRibbonWindow.Resources&gt;
        &lt;ResourceDictionary&gt;
            &lt;ObjectDataProvider x:Key=&quot;themeManager&quot;
                                ObjectType=&quot;Themes:ThemeManager&quot;
                                MethodName=&quot;GetThemes&quot; /&gt;
        &lt;/ResourceDictionary&gt;
    &lt;/igRibbon:XamRibbonWindow.Resources&gt;

    &lt;igRibbon:XamRibbonWindow.Title&gt;
        &lt;Binding Path=&quot;Title&quot;&gt;
            &lt;Binding.FallbackValue&gt;Human Ideas&lt;/Binding.FallbackValue&gt;
            &lt;Binding.TargetNullValue&gt;Human Ideas&lt;/Binding.TargetNullValue&gt;
        &lt;/Binding&gt;
    &lt;/igRibbon:XamRibbonWindow.Title&gt;

    &lt;igRibbon:RibbonWindowContentHost&gt;

        &lt;igRibbon:RibbonWindowContentHost.Ribbon&gt;

            &lt;igRibbon:XamRibbon Theme=&quot;{Binding ElementName=cboThemes, Path=SelectedValue, UpdateSourceTrigger=PropertyChanged}&quot;&gt;
                &lt;igRibbon:XamRibbon.ApplicationMenu&gt;
                    &lt;igRibbon:ApplicationMenu Caption=&quot;Layout&quot;&gt;
                        &lt;igRibbon:ApplicationMenu.Items&gt;
                            
                            &lt;StackPanel Orientation=&quot;Horizontal&quot;&gt;
                                &lt;TextBlock VerticalAlignment=&quot;Center&quot;
                                           Text=&quot;Theme: &quot; /&gt;
                                &lt;ComboBox x:Name=&quot;cboThemes&quot;
                                          VerticalAlignment=&quot;Center&quot;
                                          IsEditable=&quot;False&quot;
                                          
                                          MinWidth=&quot;100&quot;
                                          SelectedIndex=&quot;0&quot;
                                          ItemsSource=&quot;{Binding Source={StaticResource themeManager}}&quot; /&gt;
                            &lt;/StackPanel&gt;
                            
                            &lt;Button Content=&quot;Reset Docking Layout&quot;
                                    VerticalAlignment=&quot;Center&quot;
                                    MinWidth=&quot;100&quot;
                                    Click=&quot;ResetLayoutButtonClick&quot; /&gt;

                        &lt;/igRibbon:ApplicationMenu.Items&gt;
                    &lt;/igRibbon:ApplicationMenu&gt;
                &lt;/igRibbon:XamRibbon.ApplicationMenu&gt;

                &lt;igRibbon:XamRibbon.Tabs&gt;
                    &lt;igRibbon:RibbonTabItem Header=&quot;Main&quot;&gt;
                        &lt;!--&lt;igRibbon:RibbonGroup&gt;
                        &lt;/igRibbon:RibbonGroup&gt;--&gt;
                    &lt;/igRibbon:RibbonTabItem&gt;
                &lt;/igRibbon:XamRibbon.Tabs&gt;
                
            &lt;/igRibbon:XamRibbon&gt;

        &lt;/igRibbon:RibbonWindowContentHost.Ribbon&gt;

        &lt;igDock:XamDockManager x:Name=&quot;dockingManager&quot;
                               Background=&quot;Transparent&quot;&gt;
            &lt;igDock:XamDockManager.Panes&gt;
                &lt;igDock:SplitPane x:Name=&quot;treePanel&quot;
                                  igDock:XamDockManager.InitialLocation=&quot;DockedLeft&quot;&gt;
                    &lt;igDock:ContentPane x:Name=&quot;treePanelC&quot;
                                        Background=&quot;Transparent&quot;
                                        Header=&quot;Tree&quot;
                                        AllowClose=&quot;False&quot;&gt;

                    &lt;/igDock:ContentPane&gt;
                &lt;/igDock:SplitPane&gt;
                &lt;igDock:SplitPane x:Name=&quot;summaryPanel&quot;
                                  igDock:XamDockManager.InitialLocation=&quot;DockedTop&quot;&gt;
                    &lt;igDock:ContentPane x:Name=&quot;summaryPanelC&quot;
                                        Background=&quot;Transparent&quot;
                                        Header=&quot;Summary&quot;
                                        AllowClose=&quot;False&quot; /&gt;
                &lt;/igDock:SplitPane&gt;
                &lt;igDock:SplitPane x:Name=&quot;middlePanel&quot;
                                  igDock:XamDockManager.InitialLocation=&quot;DockedTop&quot;&gt;
                    &lt;igDock:ContentPane x:Name=&quot;middlePanelC&quot;
                                        Background=&quot;Transparent&quot;
                                        Header=&quot;TBD&quot;
                                        AllowClose=&quot;False&quot; /&gt;
                &lt;/igDock:SplitPane&gt;
                &lt;igDock:SplitPane x:Name=&quot;ordersPanel&quot;
                                  igDock:XamDockManager.InitialLocation=&quot;DockedTop&quot;&gt;
                    &lt;igDock:ContentPane  x:Name=&quot;ordersPanelC&quot;
                                         Background=&quot;Transparent&quot;
                                         Header=&quot;Orders&quot;
                                         AllowClose=&quot;False&quot; /&gt;
                &lt;/igDock:SplitPane&gt;
            &lt;/igDock:XamDockManager.Panes&gt;
        &lt;/igDock:XamDockManager&gt;

        &lt;igRibbon:RibbonWindowContentHost.StatusBar&gt;
            &lt;StatusBar&gt;
                &lt;TextBlock Text=&quot;Ready&quot; /&gt;
            &lt;/StatusBar&gt;
        &lt;/igRibbon:RibbonWindowContentHost.StatusBar&gt;

    &lt;/igRibbon:RibbonWindowContentHost&gt;

&lt;/igRibbon:XamRibbonWindow&gt;
</pre></p><p>&nbsp;</p><p>...and the code behind:</p><p><pre class="brush: csharp">using System;
using System.IO;
using HumanIdeas.GUI.Properties;

namespace HumanIdeas.GUI
{
    /// &lt;summary&gt;
    /// Interaction logic for Shell.xaml
    /// &lt;/summary&gt;
    public partial class Shell {
        private void ResetLayoutButtonClick(object sender, System.Windows.RoutedEventArgs e)
        {
            LoadDefaultLayout();
        }

        private void XamRibbonWindowLoaded(object sender, System.Windows.RoutedEventArgs e)
        {
            LoadLayout();
        }

        private void XamRibbonWindowClosed(object sender, EventArgs e)
        {
            SaveLayout();
        }        

        private void LoadDefaultLayout()
        {
            try
            {
                using (var fs = new FileStream(@&quot;Data\defaultLayout.xml&quot;, FileMode.Open, FileAccess.Read))
                {
                    dockingManager.LoadLayout(fs);
                }

            }
            catch (FileNotFoundException)
            {
            }

        }

        private void LoadLayout()
        {
            var curTheme = Settings.Default.CurrentTheme;
            if (curTheme == null | curTheme == String.Empty)  cboThemes.SelectedIndex = 0;
            else cboThemes.SelectedValue = curTheme;

                try
                {
                    using (var fs = new FileStream(@&quot;Data\layout.xml&quot;, FileMode.Open, FileAccess.Read))
                    {
                        dockingManager.LoadLayout(fs);
                    }

                }
                catch (FileNotFoundException)
                {
                    LoadDefaultLayout();
                }
        }

        private void SaveLayout()
        {
            Settings.Default.CurrentTheme = cboThemes.SelectedValue.ToString();
            Settings.Default.Save();

            using (var fs = new FileStream(@&quot;Data\layout.xml&quot;, FileMode.Create, FileAccess.Write))
            {
                dockingManager.SaveLayout(fs);
            }

        }

    }
}
</pre></p><p>&nbsp;</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/WPF-Persisting-window-position-size-theme-and-layout-Saving-to-xml-and-application-settings/8360c724666945fbbead9eee014aa926#8360c724666945fbbead9eee014aa926</link>
		<pubDate>Wed, 25 May 2011 20:03:53 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/WPF-Persisting-window-position-size-theme-and-layout-Saving-to-xml-and-application-settings/8360c724666945fbbead9eee014aa926#8360c724666945fbbead9eee014aa926</guid>
		<dc:creator>Mauricio Feijo</dc:creator>
		<slash:comments>2</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - A WPF XAML glass bead inspired by the mac title bar widgets ( Can be used in a button or other controls)</title>
		<description><![CDATA[<p><a href="http://oi53.tinypic.com/avwj7.jpg" rel="lightbox"><img src="http://oi53.tinypic.com/avwj7.jpg" alt=""></a></p><p>&nbsp;</p><p>I use this in a semaphore type of application, changing the color of the first ellipse with triggers.</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Viewbox &gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Grid Height=&quot;50&quot; Width=&quot;50&quot; Margin=&quot;5&quot; ToolTip=&quot;SOF&quot; &gt; &nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Grid Margin=&quot;0&quot;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Ellipse Fill=&quot;Red&quot;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Ellipse.Stroke&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;LinearGradientBrush StartPoint=&quot;0.5,0&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EndPoint=&quot;0.5,1&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ColorInterpolationMode=&quot;ScRgbLinearInterpolation&quot;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;GradientStop Color=&quot;Black&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Offset=&quot;0&quot; /&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;GradientStop Color=&quot;Silver&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Offset=&quot;1&quot; /&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/LinearGradientBrush&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Ellipse.Stroke&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Ellipse&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Ellipse Margin=&quot;1&quot;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Ellipse.Stroke&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;RadialGradientBrush Opacity=&quot;0.8&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ColorInterpolationMode=&quot;ScRgbLinearInterpolation&quot;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;GradientStop Offset=&quot;0.85&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Color=&quot;Transparent&quot; /&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;GradientStop Offset=&quot;1&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Color=&quot;Black&quot; /&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/RadialGradientBrush&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Ellipse.Stroke&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Ellipse.Fill&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;RadialGradientBrush&nbsp; Opacity=&quot;0.6&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GradientOrigin=&quot;0.5,1.2&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ColorInterpolationMode=&quot;ScRgbLinearInterpolation&quot;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;GradientStop Offset=&quot;1&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Color=&quot;#00000000&quot; /&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;GradientStop Offset=&quot;0.4&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Color=&quot;White&quot; /&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/RadialGradientBrush&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Ellipse.Fill&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Ellipse&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Ellipse Margin=&quot;1.5&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RenderTransformOrigin=&quot;0.5,0&quot;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Ellipse.RenderTransform&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ScaleTransform ScaleY=&quot;0.4&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ScaleX=&quot;0.7&quot; /&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Ellipse.RenderTransform&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Ellipse.Fill&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;LinearGradientBrush Opacity=&quot;0.85&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StartPoint=&quot;0.5,0&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EndPoint=&quot;0.5,1&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ColorInterpolationMode=&quot;ScRgbLinearInterpolation&quot;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;GradientStop Color=&quot;White&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Offset=&quot;0.3&quot; /&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;GradientStop Color=&quot;Transparent&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Offset=&quot;1&quot; /&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/LinearGradientBrush&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Ellipse.Fill&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Ellipse&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Grid&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TextBlock TextWrapping=&quot;NoWrap&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Opacity=&quot;.75&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FontWeight=&quot;Bold&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TextAlignment=&quot;Center&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HorizontalAlignment=&quot;Center&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VerticalAlignment=&quot;Center&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Text=&quot;SOF&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TextBlock.FontSize=&quot;15&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Margin=&quot;2,0,0,0&quot; /&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Grid&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Viewbox&gt;</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/A-glass-bead-inspired-the-mac-title-bar-widgets/a853eca9ab284b31b8799ee600ec2a38#a853eca9ab284b31b8799ee600ec2a38</link>
		<pubDate>Tue, 17 May 2011 14:19:51 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/A-glass-bead-inspired-the-mac-title-bar-widgets/a853eca9ab284b31b8799ee600ec2a38#a853eca9ab284b31b8799ee600ec2a38</guid>
		<dc:creator>Mauricio Feijo</dc:creator>
		<slash:comments>1</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Disabling the Designer when editing XAML</title>
		<description><![CDATA[<p>@<a href="/Forums/TechOff/Disabling-the-Designer-when-editing-XAML#c33f98341db3f45dea6e29ee0013701a0">wkempf</a>: Id say it is a matter of semantics. This allows developers to have all XAML intellisense and coloring without the overhead of the designer, which many developers rarely use. </p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/Disabling-the-Designer-when-editing-XAML/4f2c211244b44040851a9ee600e95abc#4f2c211244b44040851a9ee600e95abc</link>
		<pubDate>Tue, 17 May 2011 14:09:37 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/Disabling-the-Designer-when-editing-XAML/4f2c211244b44040851a9ee600e95abc#4f2c211244b44040851a9ee600e95abc</guid>
		<dc:creator>Mauricio Feijo</dc:creator>
		<slash:comments>5</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Disabling the Designer when editing XAML</title>
		<description><![CDATA[<p>@<a href="/Forums/TechOff/Disabling-the-Designer-when-editing-XAML#c3d975bffee5a479ca0879ee0013a495d">spivonious</a>:It will not open the designer but it will still execute. When using complex frameworks this is very clear, as the IDE UI locks up until designer work is complete. Just test it for yourself, get 5 large, heavily templated files and open them, with the designer tab collapsed. Save all and close VS. Then reopen VS and time how long it takes until you can edit text. Then close them all, change the default, reopen them al, save again and test again.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/Disabling-the-Designer-when-editing-XAML/3ff1918ef82746ad8bed9ee600e7bbde#3ff1918ef82746ad8bed9ee600e7bbde</link>
		<pubDate>Tue, 17 May 2011 14:03:43 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/Disabling-the-Designer-when-editing-XAML/3ff1918ef82746ad8bed9ee600e7bbde#3ff1918ef82746ad8bed9ee600e7bbde</guid>
		<dc:creator>Mauricio Feijo</dc:creator>
		<slash:comments>5</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Disabling the Designer when editing XAML</title>
		<description><![CDATA[<p>&nbsp;</p><p class="MsoNormal"><span>Many of us prefer to disable the designer when editing XAML, mostly for performance reasons. If you experience a big delay when opening and even making changes to XAML files, you might want to disable the designer. Of course if you use the designer, this fix is not for you.</span></p><p class="MsoNormal"><span>&nbsp;</span></p><p class="MsoNormal"><span>To disable the designer, make sure there are no XAML files open on VS 2010:</span></p><p class="MsoNormal"><span>&nbsp;</span></p><p class="MsoNormal"><span>1 – Right click on a XAML file on solution explorer</span></p><p class="MsoNormal"><span>2 – Select “Open with…” from context menu</span></p><p class="MsoNormal"><span>3 – Select “Source Code (Text) Editor”</span></p><p class="MsoNormal"><span>4 – Click on “Set as Default” button</span></p><p class="MsoNormal">&nbsp;</p><p class="MsoNormal">Mario Done!<span> <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /><br></span></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/Disabling-the-Designer-when-editing-XAML/82f60b4d6b7f4e1fb0589ee0010e2587#82f60b4d6b7f4e1fb0589ee0010e2587</link>
		<pubDate>Wed, 11 May 2011 16:23:34 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/Disabling-the-Designer-when-editing-XAML/82f60b4d6b7f4e1fb0589ee0010e2587#82f60b4d6b7f4e1fb0589ee0010e2587</guid>
		<dc:creator>Mauricio Feijo</dc:creator>
		<slash:comments>5</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - WPF mobile browser emulator, WCF service, image generation in c#</title>
		<description><![CDATA[<p>This POC creates an image programatically in C# and streams it in both ASP.NET web services and WCF, then consumes it with a winforms app and a web page. I also included a WPF mobile browser emulator. The emulator needs to be rewritten in MVVM.</p><p>I&nbsp;will include the code from home today.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/This-POC-creates-an-image-programatically-in-C-and-streams-it-in-both-ASPNET-web-services-and-WCF-th/3f9b0cc051f54c3b935c9e37016d9051#3f9b0cc051f54c3b935c9e37016d9051</link>
		<pubDate>Tue, 23 Nov 2010 22:10:58 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/This-POC-creates-an-image-programatically-in-C-and-streams-it-in-both-ASPNET-web-services-and-WCF-th/3f9b0cc051f54c3b935c9e37016d9051#3f9b0cc051f54c3b935c9e37016d9051</guid>
		<dc:creator>Mauricio Feijo</dc:creator>
		<slash:comments>1</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Drag and Drop between user controls</title>
		<description><![CDATA[<p>I had a hard time finding any information at all about dragging and dropping between controls of different types contained in separate user controls. I am talking about dragging from an Infragistics UltraGrid in a user control to an Infragistics UltraWinTree
 in another user control, for example. Probably a common scenario, and I bet a lot of people go trough the same trouble, so maybe this can help.<br /><br />The magic happens in a few&nbsp;steps:<br /><br />First you need to set the AllowDrop property to true on both controls.<br /><br />Next you need to catch the SelectionDrag event. It will fire when you start dragging from the grid. ON that handler you need to call the DoDragDrop method. That will start the process and change your cursor for you, based on the DFragDropEffect you use on the
 method call. I used DragDropEffect.Move, and that changes the cursor to a little plus sign inside a box.<br /><br /><font size="2"></p>
<p></font><font color="#0000ff" size="2">private</font><font size="2"> </font><font color="#0000ff" size="2">void</font><font size="2"> utgGrid_SelectionDrag(
</font><font color="#0000ff" size="2">object</font><font size="2"> sender, </font>
<font color="#2b91af" size="2">CancelEventArgs</font><font size="2"> e)</p>
<p>{</p>
<p></font><font color="#0000ff" size="2">this</font><font size="2">.DoDragDrop(((</font><font color="#2b91af" size="2">UltraGrid</font><font size="2">)sender).Selected.Rows[0].Cells[</font><font color="#a31515" size="2">&quot;ItemID&quot;</font><font size="2">].Text,
</font><font color="#2b91af" size="2">DragDropEffects</font><font size="2">.Copy);</p>
<p>}</p>
<p></font><br /><br />Now we are waiting for the user to move the mouse over the tree.&nbsp; We will capture that on the DragEnter event of the tree, check to see if what is being dragged is what we want and set e.Effect to DragDropEffects.Copy if we want to allow the drop or to DragDropEffects.None
 if we don't want to allow the drop.<br /><br /><font color="#0000ff" size="2">private</font><font size="2"> </font><font color="#0000ff" size="2">void</font><font size="2"> utrTree_DragEnter(</font><font color="#0000ff" size="2">object</font><font size="2"> sender,
</font><font color="#2b91af" size="2">DragEventArgs</font><font size="2"> e)</p>
<p>{</p>
<p>{</p>
<p></font><font color="#0000ff" size="2">if</font><font size="2"> (e.Data.GetDataPresent(</font><font color="#2b91af" size="2">DataFormats</font><font size="2">.StringFormat))</p>
<p>{</p>
<p>&nbsp;&nbsp;&nbsp;e.Effect = </font><font color="#2b91af" size="2">DragDropEffects</font><font size="2">.Copy;</p>
<p>}</p>
<p></font><font color="#0000ff" size="2">else</p>
</font><font size="2">
<p>{</p>
<p>&nbsp;&nbsp;&nbsp;e.Effect = </font><font color="#2b91af" size="2">DragDropEffects</font><font size="2">.None;</p>
<p>}</p>
<p>}</p>
<p>}</p>
</font>On that handler we will check to see if what is being dragged is what we want, and set e.Effect to DragDropEffects.Copy if we care for it or to DragDropEffects.None if we don't want to allow the drop.<br /><br />Finally we need to catch the drop on the DragDrop event of the tree.<br /><br /><font size="2">
<p></font><font color="#0000ff" size="2">private</font><font size="2"> </font><font color="#0000ff" size="2">void</font><font size="2"> utrTree_DragDrop(</font><font color="#0000ff" size="2">object</font><font size="2"> sender,
</font><font color="#2b91af" size="2">DragEventArgs</font><font size="2"> e)</p>
<p>{</p>
<p></font><font color="#008000" size="2">//Below you call whatever method you want to process the drop, include the item on the tree&nbsp; or whatever you need to do.</p>
</font><font size="2">
<p>ProcessDrop((</font><font color="#2b91af" size="2">String</font><font size="2">)e.Data.GetData(</font><font color="#2b91af" size="2">DataFormats</font><font size="2">.StringFormat), utrTree.GetNodeFromPoint(utrTree.PointToClient(</font><font color="#0000ff" size="2">new</font><font size="2">
</font><font color="#2b91af" size="2">Point</font><font size="2">(e.X,e.Y))));</p>
<p>}<br /><br />See ya!<br /><br />Mauricio Feijo<br /><a href="http://www.mauriciofeijo.com">www.mauriciofeijo.com</a><br /></p>
</font>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/255072-Drag-and-Drop-between-user-controls/255072#255072</link>
		<pubDate>Tue, 29 May 2007 17:32:07 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/255072-Drag-and-Drop-between-user-controls/255072#255072</guid>
		<dc:creator>Mauricio Feijo</dc:creator>
		<slash:comments>5</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Regular Expression for multiple email validation using the RegularExpressionValidator control</title>
		<description><![CDATA[<p>...and here I was trying to figure out how to validate multiple email addresses separated by a comma inside a textbox. Could not really find much help online on Regular Expression at first, but then learned about JScript Regular Expressions versus .NET
 RegEx and how JS RegEx is a subset of .NET RegEx, therefore most times you are better off using jScript on validators. Here is a link:&nbsp;
<a href="<a href="http://msdn2.microsoft.com/en-us/library/eahwtc9e(VS.80">http&#58;&#47;&#47;msdn2.microsoft.com&#47;en-us&#47;library&#47;eahwtc9e&#40;VS.80</a>).aspx'"><a href="http://msdn2.microsoft.com/en-us/library/eahwtc9e(VS.80">http&#58;&#47;&#47;msdn2.microsoft.com&#47;en-us&#47;library&#47;eahwtc9e&#40;VS.80</a>).aspx<br>
</a><br>
I then learned here <a href="<a href="http://msdn2.microsoft.com/en-us/library/3206d374(VS.80">http&#58;&#47;&#47;msdn2.microsoft.com&#47;en-us&#47;library&#47;3206d374&#40;VS.80</a>).aspx">
<a href="http://msdn2.microsoft.com/en-us/library/3206d374(VS.80">http&#58;&#47;&#47;msdn2.microsoft.com&#47;en-us&#47;library&#47;3206d374&#40;VS.80</a>).aspx</a>&nbsp;a little more about the syntax of RegEx (and remembered I knew all this stuff from my asp 3.0 previous life) and came up with this:<br>
<br>
&quot;((\w&#43;([-&#43;.']\w&#43;)*@\w&#43;([-.]\w&#43;)*\.\w&#43;([-.]\w&#43;)*)*([,])*)*&quot;<br>
<br>
it is the built-in RegEx for emails, plus a clause allowing for an optional comma &quot;([,])*&quot;. I also wrapped the whole thing on &quot;(...)*&quot; to allow for multiple occurrences.<br>
<br>
Next thing I will do is make sure only once comma is accept4d instead of the &quot;zero or many&quot; criteria of &quot;*&quot;, and will also (try to) find a way to not having a comma at the end without a valid email after it.<br>
<br>
See ya!</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/250895-Regular-Expression-for-multiple-email-validation-using-the-RegularExpressionValidator-control/250895#250895</link>
		<pubDate>Tue, 19 Dec 2006 14:36:26 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/250895-Regular-Expression-for-multiple-email-validation-using-the-RegularExpressionValidator-control/250895#250895</guid>
		<dc:creator>Mauricio Feijo</dc:creator>
		<slash:comments>3</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Hide Startup Form On Load - VB.NET</title>
		<description><![CDATA[<p>Alternatively, you can set transparency to 100%, or set coordinates to 0,0,0,0.&nbsp; The actual problem is that you chose a windows app. I remember having that trouble and found a way out, but can't&nbsp;remember what it was. as I do I will post.<br>
Thanks.<br>
M</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/166693-Hide-Startup-Form-On-Load-VBNET/8597494bc1844eb19f679dea01391da6#8597494bc1844eb19f679dea01391da6</link>
		<pubDate>Wed, 29 Mar 2006 20:10:09 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/166693-Hide-Startup-Form-On-Load-VBNET/8597494bc1844eb19f679dea01391da6#8597494bc1844eb19f679dea01391da6</guid>
		<dc:creator>Mauricio Feijo</dc:creator>
		<slash:comments>19</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Mauricio Feijo/Discussions/RSS</wfw:commentRss>
	</item>
</channel>
</rss>