<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.silverlight.net/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>Programming with .NET - General</title><link>http://forums.silverlight.net/forums/17.aspx</link><description>General discussions around authoring Silverlight .NET applications.</description><dc:language>en</dc:language><generator>CommunityServer 2007 (Build: 20416.853)</generator><item><title>Re: User controls and inheritance</title><link>http://forums.silverlight.net/forums/thread/206319.aspx</link><pubDate>Tue, 14 Apr 2009 15:44:25 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:206319</guid><dc:creator>bgulian</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/206319.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=206319</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/silverlight/images/icon-quote.gif"&gt; &lt;strong&gt;Jody.Breshears:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;What about moving those helper methods to a helper class, rather than inheriting them from a base class?&amp;nbsp; That would solve your problems, and improve your design in one stroke.&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;p&gt; &lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Maybe.&amp;nbsp; Depends.&amp;nbsp; I was interested in this UserControl override for the purpose of forcing implementation of abstract methods I declare in my base class in order to facilitate access from sub-controls to the data model which needs to be instantiated in page.xaml.cs.&amp;nbsp; The &amp;quot;Helpers&amp;quot; do not really help with that design goal.&amp;nbsp;&amp;nbsp; However, the designer is the only way to tell if my xaml has successfully compiled so the inheritance scheme does not really work for me. &lt;/p&gt;&lt;p&gt;I sure hope the VS 2008 team is working on a patch for the designer.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Bob &lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: User controls and inheritance</title><link>http://forums.silverlight.net/forums/thread/46786.aspx</link><pubDate>Tue, 15 Apr 2008 20:28:26 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:46786</guid><dc:creator>yourbuddypal</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/46786.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=46786</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;Thanks for the post.&lt;/p&gt;&lt;p&gt;&amp;nbsp;In addition to sharing some common methods, my base class also has a number of member variables that my pages need to have.&amp;nbsp; Therefore, it does actually make sense for me to be using inheritance.&amp;nbsp; I will definitely have to consider if i can branch off some of my methods in there to a helper class though, you bring up a great point.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: User controls and inheritance</title><link>http://forums.silverlight.net/forums/thread/46769.aspx</link><pubDate>Tue, 15 Apr 2008 18:51:50 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:46769</guid><dc:creator>Jody.Breshears</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/46769.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=46769</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;What about moving those helper methods to a helper class, rather than inheriting them from a base class?&amp;nbsp; That would solve your problems, and improve your design in one stroke.&amp;nbsp;&amp;nbsp; &lt;/p&gt;

&lt;p&gt;There are some very good design reasons to &lt;i&gt;not&lt;/i&gt; extend a class for the sole purpose of gaining access to it&amp;#39;s methods (see the &lt;a href="http://www.oreillynet.com/onlamp/blog/2008/02/the_liskov_substitution_princi.html" title="The Liskov Design Principle" target="_blank"&gt;Liskov Design Principle&lt;/a&gt;)&amp;nbsp; Inheritance is a very powerful tool, but it carries with it many dangers.&amp;nbsp; You are experiencing one of them.&amp;nbsp; Many people people feel that inheritance should be avoided when possible, and there are several Design Patterns that exist for that purpose.&lt;a href="http://www.oreillynet.com/onlamp/blog/2008/02/the_liskov_substitution_princi.html" title="The Liskov Design Principle"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Instead of having your pages inherit from your helper class, you can take the methods to which you need access, and move them to a seperate helper class.&amp;nbsp; Your pages can then instantiate that new class, and get the methods they need.&amp;nbsp; For example:&lt;/p&gt;
&lt;br /&gt;

&lt;pre class="csharpcode"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; HelperBase : UserControl {&lt;br /&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; doSomethingUseful(){&lt;br /&gt;            &lt;span class="rem"&gt;//do some trick&lt;/span&gt;
        }
    }
    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; MyPageClass : HelperBase {&lt;br /&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; MyPageClass(){&lt;br /&gt;            InitializeComponent();&lt;br /&gt;            doSomethingUseful();&lt;br /&gt;        }&lt;br /&gt;    }&lt;/pre&gt;
Becomes&lt;br /&gt;

&lt;pre class="csharpcode"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; Helper  {&lt;br /&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; doSomethingUseful(){&lt;br /&gt;            &lt;span class="rem"&gt;//do some trick&lt;/span&gt;
        }
    }
    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; MyPageClass : UserControl {&lt;br /&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; MyPageClass(){&lt;br /&gt;            InitializeComponent();&lt;br /&gt;            Helper helper = &lt;span class="kwrd"&gt;new&lt;/span&gt; Helper();&lt;br /&gt;            helper.doSomethingUseful();&lt;br /&gt;        }&lt;br /&gt;    }&lt;/pre&gt;
You still get to keep all the helper code in one place (a good thing!)  You also get to avoid fighting with studio over generated code (a good thing.)  Most importantly, you get to avoid a potentially nasty downstream maintenance problem (a very good thing.)&amp;nbsp;</description></item><item><title>Re: User controls and inheritance</title><link>http://forums.silverlight.net/forums/thread/38576.aspx</link><pubDate>Tue, 18 Mar 2008 17:59:20 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:38576</guid><dc:creator>yourbuddypal</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/38576.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=38576</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;Correct.&amp;nbsp; My user control class does not have xaml, but the pages that inherit from it are just &amp;quot;normal&amp;quot; SL pages, so they do.&amp;nbsp; In the backend code for those SL pages, they can use functions defined in my class.&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: User controls and inheritance</title><link>http://forums.silverlight.net/forums/thread/38375.aspx</link><pubDate>Tue, 18 Mar 2008 09:20:24 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:38375</guid><dc:creator>mchlSync</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/38375.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=38375</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/silverlight/images/icon-quote.gif"&gt; &lt;strong&gt;Waar:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;/p&gt;&lt;p&gt;So if I well understand you do not create a new a new UserControl but a new CS class which inherite from UserControl.&lt;/p&gt;&lt;p&gt;So you don&amp;#39;t have XAML ?&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Yes. because he want to use one function (not ui)&amp;nbsp; from base class. &lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: User controls and inheritance</title><link>http://forums.silverlight.net/forums/thread/38356.aspx</link><pubDate>Tue, 18 Mar 2008 08:42:28 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:38356</guid><dc:creator>Waar</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/38356.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=38356</wfw:commentRss><description>&lt;p&gt;So if I well understand you do not create a new a new UserControl but a new CS class which inherite from UserControl.&lt;/p&gt;&lt;p&gt;So you don&amp;#39;t have XAML ?&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: User controls and inheritance</title><link>http://forums.silverlight.net/forums/thread/35386.aspx</link><pubDate>Mon, 10 Mar 2008 07:53:30 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:35386</guid><dc:creator>robhouweling</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/35386.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=35386</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve been experimenting some more with this. The solution Michael offers&amp;nbsp;seems to be working when only using VS2008. When you open the page.xaml in Blend however, Blend returns the error &amp;quot;Invalid XAML&amp;quot;.&lt;/p&gt;
&lt;p&gt;See this post : &lt;a href="http://silverlight.net/forums/p/10763/35384.aspx#35384"&gt;http://silverlight.net/forums/p/10763/35384.aspx#35384&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: User controls and inheritance</title><link>http://forums.silverlight.net/forums/thread/35077.aspx</link><pubDate>Sat, 08 Mar 2008 22:34:25 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:35077</guid><dc:creator>yourbuddypal</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/35077.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=35077</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;I have been playing with this a bit today.&amp;nbsp; It works, but has some issues.&amp;nbsp; First of all, when I change the root element to my custom control (i.e. &amp;quot;MyUserControl&amp;quot;), the designer stops working. The project builds, but if i build it with the xaml page open, it gives an error:&lt;/p&gt;&lt;p&gt;&amp;quot;Error&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; The type &amp;#39;MyUserControl&amp;#39; was not found. Verify that you are not missing an assembly reference and that all referenced assemblies have been built.&amp;quot;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;When attempting to design the page in Blend, the workaround that I have found is to change the root element back to UserControl temporarily, make your design changes, then change it back to the custom one.&amp;nbsp; A bit of a hassle, but it works.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: User controls and inheritance</title><link>http://forums.silverlight.net/forums/thread/35030.aspx</link><pubDate>Sat, 08 Mar 2008 17:50:05 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:35030</guid><dc:creator>robhouweling</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/35030.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=35030</wfw:commentRss><description>&lt;p&gt;&amp;lt;offtopic&amp;gt;&lt;/p&gt;
&lt;p&gt;Thanks for the compliments :).&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll try to keep it up if I can find the time (which sometimes is difficult with a fulltime job and a family with 2 small kids :) ).&lt;/p&gt;
&lt;p&gt;I just picked the first blogsite that came up and I wanted to say that blogspot didn&amp;#39;t let me down so far, but it seems to do so right&amp;nbsp;now... :( I wanted to update my post and when I tried to open the site I got an error.... Maybe I&amp;#39;ll have a look at Wordpress then...&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;table class="" cellspacing="0" cellpadding="2"&gt;

&lt;tr&gt;
&lt;td class="" rowspan="3"&gt;&lt;b&gt;&lt;font face="times" color="#0039b6" size="10"&gt;G&lt;/font&gt;&lt;font face="times" color="#c41200" size="10"&gt;o&lt;/font&gt;&lt;font face="times" color="#f3c518" size="10"&gt;o&lt;/font&gt;&lt;font face="times" color="#0039b6" size="10"&gt;g&lt;/font&gt;&lt;font face="times" color="#30a72f" size="10"&gt;l&lt;/font&gt;&lt;font face="times" color="#c41200" size="10"&gt;e&lt;/font&gt;&amp;nbsp;&amp;nbsp;&lt;/b&gt; 
&lt;td class=""&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;&lt;font face="arial,sans-serif" color="#ffffff"&gt;&lt;b&gt;Error&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;h1&gt;Server Error&lt;/h1&gt;The server encountered a temporary error and could not complete your request. 
&lt;p&gt;Please try again in 30 seconds. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;lt;/offtopic&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;</description></item><item><title>Re: User controls and inheritance</title><link>http://forums.silverlight.net/forums/thread/34988.aspx</link><pubDate>Sat, 08 Mar 2008 14:04:39 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:34988</guid><dc:creator>mchlSync</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/34988.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=34988</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;Hi Rob,&lt;/p&gt;&lt;p&gt;I glad to hear that. &lt;/p&gt;&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/silverlight/images/icon-quote.gif"&gt; &lt;strong&gt;robhouweling:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;(have to set something straight in my blogpost now ;) )&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I think you probably need to update your post again. :) I visited your blog and your blog is nice..&amp;nbsp; full of silverlight articles.. great.. keep on blogging. :) btw, you like blogspot? for me, I like wordpess..&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: User controls and inheritance</title><link>http://forums.silverlight.net/forums/thread/34961.aspx</link><pubDate>Sat, 08 Mar 2008 11:37:32 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:34961</guid><dc:creator>robhouweling</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/34961.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=34961</wfw:commentRss><description>&lt;p&gt;Hi Michael,&lt;/p&gt;
&lt;p&gt;Just&amp;nbsp;tried it again in a new project (first attempt was in an existing one) and it&amp;#39;s working fine now.&lt;/p&gt;
&lt;p&gt;I think I messed something up with namespaces or something like that. Sorry about that and thanks for the help, I&amp;#39;m very happy that it&amp;#39;s possible to do this after all (have to set something straight in my blogpost now ;) )&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Rob Houweling&lt;/p&gt;</description></item><item><title>Re: User controls and inheritance</title><link>http://forums.silverlight.net/forums/thread/34953.aspx</link><pubDate>Sat, 08 Mar 2008 10:45:30 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:34953</guid><dc:creator>yourbuddypal</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/34953.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=34953</wfw:commentRss><description>&lt;p&gt;That looks like its working.&amp;nbsp; I had tried something similar, but made some stupid mistakes in my previous attempt - Thank you for the post!&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: User controls and inheritance</title><link>http://forums.silverlight.net/forums/thread/34944.aspx</link><pubDate>Sat, 08 Mar 2008 09:37:44 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:34944</guid><dc:creator>mchlSync</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/34944.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=34944</wfw:commentRss><description>Hello Rob,&lt;br /&gt;&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/silverlight/images/icon-quote.gif"&gt; &lt;strong&gt;robhouweling:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;This seems to build fine, but when I run it, I get an InitializeError #2103 (Invalid or malformed application: Check manifest).&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;It&amp;#39;s strange. I have tested in my machine and It was working fine. Are you testing my code with new project? &amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: User controls and inheritance</title><link>http://forums.silverlight.net/forums/thread/34940.aspx</link><pubDate>Sat, 08 Mar 2008 08:37:11 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:34940</guid><dc:creator>robhouweling</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/34940.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=34940</wfw:commentRss><description>&lt;p&gt;Hi Michael,&lt;/p&gt;
&lt;p&gt;This seems to build fine, but when I run it, I get an InitializeError #2103 (Invalid or malformed application: Check manifest).&lt;/p&gt;
&lt;p&gt;I found a way to get it working (See this post: &lt;a href="http://silverlight.net/forums/t/10763.aspx"&gt;http://silverlight.net/forums/t/10763.aspx&lt;/a&gt;), but the downside with that is you have to manually change the .g.cs class everytime you save the xaml which inherits a different class than the standard UserControl class.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Kind regards,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Rob Houweling&lt;/p&gt;</description></item><item><title>Re: User controls and inheritance</title><link>http://forums.silverlight.net/forums/thread/34913.aspx</link><pubDate>Sat, 08 Mar 2008 06:09:18 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:34913</guid><dc:creator>mchlSync</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/34913.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=34913</wfw:commentRss><description>&lt;p&gt;Hello,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Please try the following steps. &lt;/p&gt;&lt;ol&gt;&lt;li&gt;Create SL project.&lt;/li&gt;&lt;li&gt;MyUserControlBase.cs&lt;/li&gt;&lt;li&gt;Inherits from UserControl&lt;br /&gt;&lt;br /&gt;namespace SL2Test {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class MyUserControlBase : UserControl {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string DoSomething() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return &amp;quot;Ahh! bad attemps!&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;In Page.xaml.cs&lt;br /&gt;&lt;br /&gt;namespace SL2Test {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public partial class Page : MyUserControlBase {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Page() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;In Page.xaml,&lt;br /&gt;&lt;br /&gt;&amp;lt;MyUserControlBase x:Class=&amp;quot;SL2Test.Page&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns=&amp;quot;http://schemas.microsoft.com/client/2007&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:x=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Width=&amp;quot;400&amp;quot; Height=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Canvas Width=&amp;quot;400&amp;quot; Height=&amp;quot;300&amp;quot; Background=&amp;quot;Red&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Canvas&amp;gt;&lt;br /&gt;&amp;lt;/MyUserControlBase&amp;gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item></channel></rss>