<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.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>Hannes Preishuber</title><link>http://weblogs.asp.net/hpreishuber/default.aspx</link><description>ON ERROR RESUME NEXT!</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Silverlight 2.0 plugin ID or not ID</title><link>http://weblogs.asp.net/hpreishuber/archive/2008/08/24/silverlight-2-0-plugin-id-or-not-id.aspx</link><pubDate>Sun, 24 Aug 2008 06:05:26 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6558373</guid><dc:creator>preishuber</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/hpreishuber/rsscomments.aspx?PostID=6558373</wfw:commentRss><comments>http://weblogs.asp.net/hpreishuber/archive/2008/08/24/silverlight-2-0-plugin-id-or-not-id.aspx#comments</comments><description>&lt;p&gt;My original problem was a call from HTMl via Jscript to the internals of a Silverlight plugin. My code fails I had huge problems to find the issue cause debugging doesn’t help and jScript doesnt support intellisense i a complete matter.&lt;/p&gt;  &lt;p&gt;My checklist&lt;/p&gt;  &lt;p&gt;1) Silverlight 1.0 uses a findname construct, Silverlight 2.0 the xaml class must expose a &amp;lt;Scriptable&amp;gt; member and it must be registered with RegisterScriptObject&lt;font size="2"&gt;&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;HtmlPage.RegisterScriptableObject(&lt;/p&gt; &lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;hannespre&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Me&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;2) The Call by Jscript from a Silverlight event method like loaded, have a sender object as parameter. On that you can use getHost to get a instance of Silverlight host. &lt;/p&gt;  &lt;p&gt;If you call without, like a hmtl button click, you have to find the the Silverlight plugin.&lt;/p&gt; &lt;font size="2"&gt;   &lt;p&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;var&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; slhost = document.getElementById(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;sl1&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;     &lt;p&gt;&lt;/p&gt; &lt;/font&gt;  &lt;p&gt;3) ASPX or HTML. Silverlight projects in Visual Studio 2008 creates a additional web project. This have to test pages. A html and a aspx. &lt;/p&gt;  &lt;p&gt;ASPX&lt;/p&gt; &lt;font size="2"&gt;   &lt;p&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;Silverlight&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;ID&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;SilverlightControl&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;PluginBackground&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=Transparent&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;server&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;HtmlAccess&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=Enabled&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;Source&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;~/ClientBin/SilverlightApplication1test.xap&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;MinimumVersion&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;2.0.30812&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;Width&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;100%&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;Height&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;600&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;   &lt;p&gt;HTML&lt;/p&gt; &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;     &lt;p&gt;&amp;lt;&lt;/p&gt;   &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;object&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;data&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;data:application/x-silverlight,&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;id&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;sl1&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;type&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;application/x-silverlight-2&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;width&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;600px&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;height&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;400px&amp;quot;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;param&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;name&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;source&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;value&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;ClientBin/SilverlightApplication1test.xap&amp;quot;/&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;param&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;name&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;onerror&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;value&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;onSilverlightError&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;param&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;name&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;background&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;value&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;white&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;a&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;href&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;http://go.microsoft.com/fwlink/?LinkID=115261&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;style&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;text-decoration: none;&amp;quot;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;img&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;src&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;http://go.microsoft.com/fwlink/?LinkId=108181&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;alt&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Get Microsoft Silverlight&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;style&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;border-style: none&amp;quot;/&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;a&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;object&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;   &lt;p&gt;The ID of the Silverlight Plugin is set with the ID attribute. There are different default values in ASPX and HTML (XAML1). If you miss the ID, Silverlight will work. &lt;/p&gt;  &lt;p&gt;4) you can read the created plugin id during runtime &lt;/p&gt;  &lt;pre class="csharpcode"&gt; &lt;span class="kwrd"&gt;Private&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; page8_Loaded(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; sender &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Object&lt;/span&gt;, &lt;span class="kwrd"&gt;ByVal&lt;/span&gt; e &lt;span class="kwrd"&gt;As&lt;/span&gt; System.Windows.RoutedEventArgs) &lt;span class="kwrd"&gt;Handles&lt;/span&gt; &lt;span class="kwrd"&gt;Me&lt;/span&gt;.Loaded
        HtmlPage.RegisterScriptableObject(&lt;span class="str"&gt;&amp;quot;hannespre&amp;quot;&lt;/span&gt;, &lt;span class="kwrd"&gt;Me&lt;/span&gt;)
        label1.Text = HtmlPage.Plugin.Id
&lt;span class="kwrd"&gt;End&lt;/span&gt; Sub&lt;/pre&gt;
&lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;5) From HTML following code access Plugin&lt;/p&gt;
&lt;font size="2"&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;function&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Button1_onclick()&lt;/font&gt; 

  &lt;p&gt;{&lt;/p&gt;

  &lt;p&gt;&lt;/p&gt;
  &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;var&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; slhost = document.getElementById(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;sl1&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt; 

  &lt;p&gt;&lt;/p&gt;

  &lt;p&gt;slhost.content.hannespre.interntext(&lt;/p&gt;
  &lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;geht&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt; 

  &lt;p&gt;}&lt;/p&gt;
&lt;/font&gt;

&lt;p&gt;6) take care on pressing F5 and starting debugging. Can start HTMl or ASPX page (and your code is in other page)&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6558373" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Bind with Expression Blend: cannot create Instance Exception</title><link>http://weblogs.asp.net/hpreishuber/archive/2008/08/11/bind-with-expression-blend-cannot-create-instance-exception.aspx</link><pubDate>Mon, 11 Aug 2008 05:40:29 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6503976</guid><dc:creator>preishuber</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/hpreishuber/rsscomments.aspx?PostID=6503976</wfw:commentRss><comments>http://weblogs.asp.net/hpreishuber/archive/2008/08/11/bind-with-expression-blend-cannot-create-instance-exception.aspx#comments</comments><description>&lt;p&gt;Databinding with XAML is a lot of work. There is no drag drop table wizard, don’t search for it. Expression Blend (2.5) have a little bit more automatic support for binding Objects. When Blend is in Design View there is under Project tab a Data tab.&lt;/p&gt;  &lt;p&gt;Step1: open + CLR Object option- then you get a error message “loading assembly” which can be ignored (what else?)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/BindwithExpressionBlendcannotcreateInsta_6BE3/image_4.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/BindwithExpressionBlendcannotcreateInsta_6BE3/image_thumb_1.png" width="740" height="127" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/BindwithExpressionBlendcannotcreateInsta_6BE3/image_6.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" title="image" border="0" alt="image" align="left" src="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/BindwithExpressionBlendcannotcreateInsta_6BE3/image_thumb_2.png" width="164" height="244" /&gt;&lt;/a&gt; In the next dialog the class have to be selected which returns the data.&lt;/p&gt;  &lt;p&gt;In my case I got 100 times an error in Blend. The exception says nothing for me.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/BindwithExpressionBlendcannotcreateInsta_6BE3/image_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/BindwithExpressionBlendcannotcreateInsta_6BE3/image_thumb.png" width="456" height="330" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Step 2: Debugging&lt;/p&gt;  &lt;p&gt;Expression Blend tries to create a instance of my object during design time. That's a risk cause many parameters can differ to run time like, connections string, database, path and so one.&lt;/p&gt;  &lt;p&gt;First there must be some split between design and runtime code. There is a trick to do that. If no htmlpage is present, the container must be something else. Till now a usual container of silverlight xap applications is a browser (and nothing else)&lt;/p&gt; &lt;font size="2"&gt;   &lt;p&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;()&lt;/font&gt;     &lt;p&gt;&lt;/p&gt;   &lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;' für Blend Designmode&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;If&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; HtmlPage.IsEnabled = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;False&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Then&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'dummydaten mit vollem pfad&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; myxml = XDocument.Load(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;northwind.xml&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;     &lt;p&gt;&lt;/p&gt; &lt;/font&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;In this container is Blend. Then attach the Blend process to visual studio debugger. For that visual stuido must be open and the project must be compiled. Take Blend for compiling makes it a little bit easier for me. Dont forget to set breakpoint into your constructor.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/BindwithExpressionBlendcannotcreateInsta_6BE3/image_8.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/BindwithExpressionBlendcannotcreateInsta_6BE3/image_thumb_3.png" width="466" height="320" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In my case the code failes on the load place. The reason is ( now I know it) that i have added the XML file as content to my xap packet. But there is no xap package for blend. &lt;/p&gt;  &lt;p&gt;The solution is to include the xml as resource into the assembly and load the xml with following code&lt;/p&gt; &lt;font size="2"&gt;   &lt;p&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; myxml = XDocument.Load(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;/databindingvb;component/northwindblend.xml&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/font&gt;   &lt;p&gt;Hope this will save you some hour.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6503976" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/Blend/default.aspx">Blend</category></item><item><title>set as start page: Silverlight XAML</title><link>http://weblogs.asp.net/hpreishuber/archive/2008/07/31/set-as-start-page-silverlight-xaml.aspx</link><pubDate>Thu, 31 Jul 2008 08:54:17 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6461878</guid><dc:creator>preishuber</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/hpreishuber/rsscomments.aspx?PostID=6461878</wfw:commentRss><comments>http://weblogs.asp.net/hpreishuber/archive/2008/07/31/set-as-start-page-silverlight-xaml.aspx#comments</comments><description>&lt;p&gt;I really miss the option “set as start page” in Visual Studio Explorer for Silverlight Projects. If I have time in the next days (;-))Ii will write visual studio extension for that purpose.&lt;/p&gt;  &lt;p&gt;In fact it is not complicated. The app.xaml have a codebehind file ( app.xaml.vb or app.xaml.cs) which create a instance of the visible XAML. Btw that is the reason for changing xaml to usercontrol in B2.&lt;/p&gt;  &lt;p&gt;All you have to to, to change the start page is to change one line of code in startup. Instead of page write the name of the class you want to show.&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;Private&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; Application_Startup(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; o &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Object&lt;/span&gt;, &lt;span class="kwrd"&gt;ByVal&lt;/span&gt; e &lt;span class="kwrd"&gt;As&lt;/span&gt; StartupEventArgs) &lt;span class="kwrd"&gt;Handles&lt;/span&gt; &lt;span class="kwrd"&gt;Me&lt;/span&gt;.Startup
        &lt;span class="kwrd"&gt;Me&lt;/span&gt;.RootVisual = &lt;span class="kwrd"&gt;New&lt;/span&gt; secondXAML()
&lt;span class="kwrd"&gt;End&lt;/span&gt; Sub&lt;/pre&gt;
&lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6461878" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>fast and furios Silverlight Databinding with Gridview and embedded XML Data Resources</title><link>http://weblogs.asp.net/hpreishuber/archive/2008/07/29/fast-and-furios-silverlight-databinding-with-gridview-and-embedded-xml-data-resources.aspx</link><pubDate>Tue, 29 Jul 2008 18:32:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6457859</guid><dc:creator>preishuber</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/hpreishuber/rsscomments.aspx?PostID=6457859</wfw:commentRss><comments>http://weblogs.asp.net/hpreishuber/archive/2008/07/29/fast-and-furios-silverlight-databinding-with-gridview-and-embedded-xml-data-resources.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am currently writing a Silverlight 2.0 course. I always try to focus on the problem and reduce the code overhead. For my Module “Databinding with Silverlight 2.0” I try to include the data as raw xml. For that purpose I include a northwind.xml file as data source into the project to focus on datagrid details. The most important part is, to set the build action to &lt;EM&gt;content&lt;/EM&gt;, which ends up in including the xml file into the xap package.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;A href="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/fastandfuriosSilverlightDatabindingwithG_12025/image_2.png" mce_href="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/fastandfuriosSilverlightDatabindingwithG_12025/image_2.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=244 alt=image src="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/fastandfuriosSilverlightDatabindingwithG_12025/image_thumb.png" width=183 border=0 mce_src="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/fastandfuriosSilverlightDatabindingwithG_12025/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Then you can load the xml directly by xdocument.load. I had problems when xml is not valif or have exoctic encoding (&lt;FONT size=2&gt;&lt;FONT size=2&gt;&lt;/FONT&gt; windows-1252&lt;/FONT&gt;). Rest is a little bit LINQ to create collection of northwinddata objects.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt; &lt;SPAN class=kwrd&gt;Dim&lt;/SPAN&gt; myxml = XDocument.Load(&lt;SPAN class=str&gt;"northwind.xml"&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;PRE class=alt&gt; &lt;SPAN class=kwrd&gt;Dim&lt;/SPAN&gt; xmlquery1 = From x &lt;SPAN class=kwrd&gt;In&lt;/SPAN&gt; myxml.Descendants(&lt;SPAN class=str&gt;"row"&lt;/SPAN&gt;) _&lt;/PRE&gt;&lt;PRE&gt;               &lt;SPAN class=kwrd&gt;Select&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;New&lt;/SPAN&gt; northwinddata &lt;SPAN class=kwrd&gt;With&lt;/SPAN&gt; _&lt;/PRE&gt;&lt;PRE class=alt&gt;               {.customerid = x.@CustomerID, _&lt;/PRE&gt;&lt;PRE&gt;                .companyname = x.@CompanyName}&lt;/PRE&gt;&lt;PRE class=alt&gt; dataGrid1.ItemsSource = xmlquery1&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/STYLE&gt;

&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Finally the result&lt;/P&gt;
&lt;P&gt;&lt;A href="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/fastandfuriosSilverlightDatabindingwithG_12025/image_4.png" mce_href="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/fastandfuriosSilverlightDatabindingwithG_12025/image_4.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=153 alt=image src="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/fastandfuriosSilverlightDatabindingwithG_12025/image_thumb_1.png" width=244 border=0 mce_src="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/fastandfuriosSilverlightDatabindingwithG_12025/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Interesting note at the bottom line. It is also possible to load the xaml content. &lt;/P&gt;&lt;PRE class=csharpcode&gt; &lt;SPAN class=kwrd&gt;Dim&lt;/SPAN&gt; myxml  XDocument.Load(&lt;SPAN class=str&gt;"/gird1;component/page.xaml"&lt;/SPAN&gt;)&lt;/PRE&gt;
&lt;STYLE type=text/css&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/STYLE&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6457859" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>IE 8 simultaneous connections changed</title><link>http://weblogs.asp.net/hpreishuber/archive/2008/07/21/ie-8-simultaneous-connections-changed.aspx</link><pubDate>Mon, 21 Jul 2008 12:22:13 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6427013</guid><dc:creator>preishuber</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/hpreishuber/rsscomments.aspx?PostID=6427013</wfw:commentRss><comments>http://weblogs.asp.net/hpreishuber/archive/2008/07/21/ie-8-simultaneous-connections-changed.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;Small note. The Internet Explorer 8 have increased the amount of connections to the same domain to 6. ( was before 2)&lt;/p&gt;  &lt;p&gt;Can have some effects in AJAX callbacks, like Web Service calls.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc304135(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/cc304135(VS.85).aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6427013" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/Ajax/default.aspx">Ajax</category></item><item><title>reverse engineering of Silverlight XAP files</title><link>http://weblogs.asp.net/hpreishuber/archive/2008/07/17/reveres-engineering-of-silverlight-xap-files.aspx</link><pubDate>Thu, 17 Jul 2008 17:50:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6411850</guid><dc:creator>preishuber</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/hpreishuber/rsscomments.aspx?PostID=6411850</wfw:commentRss><comments>http://weblogs.asp.net/hpreishuber/archive/2008/07/17/reveres-engineering-of-silverlight-xap-files.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In my &lt;A href="http://weblogs.asp.net/hpreishuber/archive/2008/06/23/what-i-miss-in-silverlight-2-0.aspx" mce_href="http://weblogs.asp.net/hpreishuber/archive/2008/06/23/what-i-miss-in-silverlight-2-0.aspx"&gt;last post&lt;/A&gt; Michael Schwarz noticed&amp;nbsp; that search engine spiders can theoretically&amp;nbsp; index xap files. &lt;/P&gt;
&lt;P&gt;Silverlight 2.0 creates a xap file where dll’s, images, videos and xml are included. &lt;/P&gt;
&lt;P&gt;First step is to search in web for files with xap extension and download it. Then uncompress it with unzip algorithm ( eg rename to zip).&lt;/P&gt;
&lt;P&gt;You will find a dll with the logic inside and several dll’s with librarys and a manifest file.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/reveresengineeringofSilverlightXAPfiles_1167D/image_2.png" mce_href="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/reveresengineeringofSilverlightXAPfiles_1167D/image_2.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" title=image border=0 alt=image src="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/reveresengineeringofSilverlightXAPfiles_1167D/image_thumb.png" width=642 height=174 mce_src="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/reveresengineeringofSilverlightXAPfiles_1167D/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The you ca use (good old) reflector to disassemble the dll. The most interesting fact is that the original XAML file is included as resource.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/reveresengineeringofSilverlightXAPfiles_1167D/image_4.png" mce_href="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/reveresengineeringofSilverlightXAPfiles_1167D/image_4.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" title=image border=0 alt=image src="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/reveresengineeringofSilverlightXAPfiles_1167D/image_thumb_1.png" width=598 height=330 mce_src="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/reveresengineeringofSilverlightXAPfiles_1167D/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;You can then export ( save) the silder.xaml and open it with eg Expression Blend. Logic can be also taken from reflector which have the option to show it in VB.NET or C#.&lt;/P&gt;
&lt;P&gt;Back to my beginning point. Till now I don’t know any search indexer which will do that.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6411850" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>What I miss in Silverlight 2.0</title><link>http://weblogs.asp.net/hpreishuber/archive/2008/06/23/what-i-miss-in-silverlight-2-0.aspx</link><pubDate>Mon, 23 Jun 2008 19:13:13 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6312143</guid><dc:creator>preishuber</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/hpreishuber/rsscomments.aspx?PostID=6312143</wfw:commentRss><comments>http://weblogs.asp.net/hpreishuber/archive/2008/06/23/what-i-miss-in-silverlight-2-0.aspx#comments</comments><description>&lt;p&gt;No, I do not miss a particular control or class. I am thinking about principle design issues.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Search Engines&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The extension for Silverlight applications is xap.&amp;#160; The content is kind of binary. At the end of the line, no content for search engine spider. &lt;/p&gt;  &lt;p&gt;Proposed solution: add metacontent, like the original XAML file.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Librarys &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Some of the new controls are not included native in Silverlight base installation. Datagrid or Tabcontrol are in separate dll’s (e.g. System.Windows.Controls.Extended.dll). If such control’s or functionality like linq is used, project needs reference to one ore more additional DLL’s. That increase xap size between 100-200K per dll. Second issue is, that code is not cached localy. I would move library code to silverlight addin or add caching.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;run local&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I see no reason why xap code must run within a HTML page. As Silverlight is a host for xap it should be possible to install that host for xap in OS. &lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6312143" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>fixed: asp.net gridview dataformatstring</title><link>http://weblogs.asp.net/hpreishuber/archive/2008/06/18/fixed-asp-net-gridview-dataformatstring.aspx</link><pubDate>Wed, 18 Jun 2008 06:37:48 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6289414</guid><dc:creator>preishuber</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/hpreishuber/rsscomments.aspx?PostID=6289414</wfw:commentRss><comments>http://weblogs.asp.net/hpreishuber/archive/2008/06/18/fixed-asp-net-gridview-dataformatstring.aspx#comments</comments><description>&lt;p&gt;A old problem was in VS 2005 and ASP.NET 2.0 that you have to set htmlencode=false to enable the dataformatstring.&lt;/p&gt;  &lt;p&gt;Since SP1 of VS 2005 ( and ASP.NET 2.0 ) there is a new property in town &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.boundfield.htmlencodeformatstring.aspx"&gt;HTMLEncodeFormatString&lt;/a&gt; which have default value false. So it is not necessary to set the value of the attribute.&lt;/p&gt; &lt;font size="2"&gt;   &lt;p&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;BoundField&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;DataField&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;RequiredDate&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;DataFormatString&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;{0:d}&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;HeaderText&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;RequiredDate&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;SortExpression&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;RequiredDate&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;    &lt;p&gt;&lt;/p&gt; &lt;/font&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/fixedasp.netgridviewdataformatstring_78EB/image_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/fixedasp.netgridviewdataformatstring_78EB/image_thumb.png" width="750" height="374" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6289414" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>what I miss in LINQdatasource</title><link>http://weblogs.asp.net/hpreishuber/archive/2008/06/05/what-i-miss-in-linqdatasource.aspx</link><pubDate>Thu, 05 Jun 2008 05:57:50 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6249140</guid><dc:creator>preishuber</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/hpreishuber/rsscomments.aspx?PostID=6249140</wfw:commentRss><comments>http://weblogs.asp.net/hpreishuber/archive/2008/06/05/what-i-miss-in-linqdatasource.aspx#comments</comments><description>&lt;p&gt;ASP.NET SQLDatasource control was for me a super productive tool in the past. There are some small features missing like a more elegant data paging. ASP.NET 3.5 bring a new control LinqDatasource which have &lt;a href="http://weblogs.asp.net/hpreishuber/archive/2008/01/17/linqdatasource-and-datapager-rocks.aspx"&gt;great support for data paging&lt;/a&gt;. So I tried&amp;#160; to create a rss feed with LINQtoSQL and LinqDatasource. Result is not as I expected.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Caching&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;SQLDatasource supports data Caching with simply two attributes &lt;em&gt;enablecaching=true&lt;/em&gt; and &lt;em&gt;cacheduration=60&lt;/em&gt;. Caching makes applications much faster. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Filtering&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In combination with&amp;#160; caching SQLDatasource supports filterparameter which allow a kind of offline (from database) filtering. Also makes application faster and reduce load on SQL server.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;FilterExpression=&amp;quot;ProductName LIKE &lt;/em&gt;&lt;a href="mailto:'@PN%'"&gt;&lt;em&gt;'@PN%'&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&amp;quot;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;extended where conditions&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;As in the sample before i miss extended where condition in LINQ querys. The wizzard of LINQdatasource only allow a few expressions like ==. &lt;/p&gt;  &lt;p&gt;In pure LINQ querys you can use syntax like&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Dim expr = From hannes In kunden.Kundens _     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Where hannes.City Like &amp;quot;a*&amp;quot; _      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Select hannes&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;or even&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;em&gt;Where SqlMethods.Like(hannes.City, &amp;quot;a%&amp;quot;) _&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Both doesn’t work in LINQdatasource.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Relations &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;For this point i am not sure if I miss some part. With sqldatasource I usually join data via SQL command. With LINqtoSQL you can define relations but not to handle it virtual as one “table” . With LINQ query's in code that's not a issue. LINQDatasource only allows to select one table so i can not handle the join of normalized data.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I am open for discussion at this point.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6249140" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/Sql/default.aspx">Sql</category></item><item><title>want to be a .NET star **{*}**?</title><link>http://weblogs.asp.net/hpreishuber/archive/2008/05/09/want-to-be-a-net-star.aspx</link><pubDate>Fri, 09 May 2008 14:40:35 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6173720</guid><dc:creator>preishuber</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/hpreishuber/rsscomments.aspx?PostID=6173720</wfw:commentRss><comments>http://weblogs.asp.net/hpreishuber/archive/2008/05/09/want-to-be-a-net-star.aspx#comments</comments><description>&lt;p&gt;you can not sing -&lt;/p&gt;  &lt;p&gt;you are running slow-&lt;/p&gt;  &lt;p&gt;you are not rich -&lt;/p&gt;  &lt;p&gt;you haven't invented the wheel ?&lt;/p&gt;  &lt;p&gt;perhaps you a good coder? we are looking for our German and Austrian sub's for upcoming .NET star's.&amp;#160; Several MVP's, authors and speakers come from us. If you want attend the star way, take a look at our web site.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/wanttobea.NETstar_EA54/sternelogo_sg_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" border="0" alt="sternelogo_sg" src="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/wanttobea.NETstar_EA54/sternelogo_sg_thumb.jpg" width="492" height="221" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6173720" width="1" height="1"&gt;</description></item><item><title>Visendo SMTP (pop3) Extender for Windows 2008 Server</title><link>http://weblogs.asp.net/hpreishuber/archive/2008/04/30/visendo-smtp-pop3-extender-for-windows-2008-server.aspx</link><pubDate>Wed, 30 Apr 2008 18:30:33 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6145413</guid><dc:creator>preishuber</dc:creator><slash:comments>16</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/hpreishuber/rsscomments.aspx?PostID=6145413</wfw:commentRss><comments>http://weblogs.asp.net/hpreishuber/archive/2008/04/30/visendo-smtp-pop3-extender-for-windows-2008-server.aspx#comments</comments><description>&lt;p&gt;We are migrating some web server from ppedv to windows 2008. IIS 7 is a great improvement. But as always in live, nothing is perfect and we miss the pop3 server from windows 2003.&lt;/p&gt;  &lt;p&gt;Our software &amp;quot;visendo&amp;quot; department&amp;#160; have build several products around pop3 (popconnect) and smtp. So we build an extender for IIS Microsoft SMTP server. So you can now use pop3 client to read mails. The solution consists of a filesystem watcher which is moving from drop to other folder(s) fitting the destination address. We support domain and single account (more than windows 2003). Configuration is done with xml. config file by notepad. Visendo SMTP Extender is developed as service with c++ for performance reasons.&lt;/p&gt;  &lt;p&gt;On bottom you find links for download first prototype. Support by blog comments. We will open up a support group on our &lt;a href="http://www.visendo.com"&gt;www.visendo.com&lt;/a&gt; forums. At the moment product is free an without any warranty.&lt;/p&gt;  &lt;p&gt;btw SMTP management is still no part of iis 7 so management is done by old mmc snap in.&lt;/p&gt;  &lt;p&gt;[UPDATE]&lt;/p&gt;  &lt;p&gt;x64 and x32 editons with minor changes&lt;/p&gt;  &lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;font color="#0000ff" size="3" face="Calibri"&gt;&lt;u&gt;&lt;a href="http://www.visendo.com/download/visendosmtpextender/VisendoSMTPExtender_x64.msi"&gt;http://www.visendo.com/download/visendosmtpextender/VisendoSMTPExtender_x64.msi&lt;/a&gt;&lt;/u&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;a href="http://www.visendo.com/download/visendosmtpextender/VisendoSMTPExtender_x86.msi"&gt;&lt;u&gt;&lt;font color="#0000ff" size="3" face="Calibri"&gt;http://www.visendo.com/download/visendosmtpextender/VisendoSMTPExtender_x86.msi&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p style="margin: 0cm 0cm 0pt" class="MsoNormal"&gt;   &lt;p&gt;&lt;font color="#000000" size="3" face="Calibri"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6145413" width="1" height="1"&gt;</description></item><item><title>Visual Studio IIS 7 and WebDAV</title><link>http://weblogs.asp.net/hpreishuber/archive/2008/04/29/visual-studio-iis-7-and-webdav.aspx</link><pubDate>Tue, 29 Apr 2008 06:25:53 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6140285</guid><dc:creator>preishuber</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/hpreishuber/rsscomments.aspx?PostID=6140285</wfw:commentRss><comments>http://weblogs.asp.net/hpreishuber/archive/2008/04/29/visual-studio-iis-7-and-webdav.aspx#comments</comments><description>&lt;p&gt;Visual Studio 2008 have still no native WebDAV support. On the other hand Microsoft is stopping Frontpage Server Extensions development. Both of this web publishing protocols are *not* implemented in IIS7 standard installation. You can download the fitting modules on the iis7 website. If you decide to use WebDAV you have to do following configuration steps&lt;/p&gt;  &lt;p&gt;1) &lt;a href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1621"&gt;Download (X86)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2) installation&lt;/p&gt;  &lt;p&gt;3) Enable WebDAV on Site level &lt;/p&gt;  &lt;p&gt;4) Enable Authentication BASIC&lt;/p&gt;  &lt;p&gt;5) create WebDAV authoring rule which allows read, write for specific user&lt;/p&gt;  &lt;p&gt;Steps are described with &lt;a href="http://learn.iis.net/page.aspx/350/installing-and-configuring-webdav-on-iis-70/"&gt;screenshots here&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For visual studio you have to map a file share like&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;net use z: http://www.fileserver.de&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;The explorer redirector (which is included since win 2000) only accepts &lt;/p&gt;  &lt;p&gt;a) windows authentication or&lt;/p&gt;  &lt;p&gt;b) Basic authentication over https =ssl&lt;/p&gt;  &lt;p&gt;For resources on the web we have to go way b).&lt;/p&gt;  &lt;p&gt;We have to created and assign a certificate to the website on our iis 7. The self signed certificates of iis 7 have no possibility to change the domain name. So default name is always machine name. For solving that I decided to use selfssl from &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=56FC92EE-A71A-4C73-B628-ADE629C89499&amp;amp;displaylang=en"&gt;iis6 resource kit&lt;/a&gt;. You can install it on windows 2008.&lt;/p&gt;  &lt;p&gt;Following code on command line creates an assign the certificate.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;selfssl /n:CN=www.fileserver.de /v:1999 /s:1        &lt;br /&gt;Microsoft (R) SelfSSL Version 1.0         &lt;br /&gt;Copyright (C) 2003 Microsoft Corporation. All rights reserved.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;Do you want to replace the SSL settings for site 1 (Y/N)?y        &lt;br /&gt;The self signed certificate was successfully assigned to site 1.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Ensure that the SLL binding is enabled in IIS7 site. &lt;/p&gt;  &lt;p&gt;Then i opened the website over https&amp;#160;&amp;#160; in browser ( Admin mode with uac)and installed the certificate in trustworthy root authority store of client machine. After that following on command line should work on client&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;net use z: &lt;/em&gt;&lt;em&gt;https://www.fileserver.de&lt;/em&gt;       &lt;br /&gt;&lt;em&gt;Geben Sie den Benutzernamen f&amp;#252;r &amp;quot;&lt;/em&gt;&lt;em&gt;www.fileserver.de&lt;/em&gt;&lt;/strong&gt;&lt;strong&gt;&lt;em&gt;&amp;quot; ein: Username        &lt;br /&gt;Geben Sie das Kennwort f&amp;#252;r &amp;quot;&lt;/em&gt;&lt;em&gt;www.fileserver.de&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;&lt;strong&gt;&amp;quot; ein:        &lt;br /&gt;Der Befehl wurde erfolgreich ausgef&amp;#252;hrt.         &lt;br /&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Then you should see in Vista explorer&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/VisualStudioIIS7andWebDAV_7111/image_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" border="0" alt="image" src="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/VisualStudioIIS7andWebDAV_7111/image_thumb.png" width="249" height="92" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6140285" width="1" height="1"&gt;</description></item><item><title>360° Visual Studio 2008, where we are?</title><link>http://weblogs.asp.net/hpreishuber/archive/2008/04/09/360-176-visual-studio-2008-where-we-are.aspx</link><pubDate>Wed, 09 Apr 2008 09:08:44 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6077925</guid><dc:creator>preishuber</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/hpreishuber/rsscomments.aspx?PostID=6077925</wfw:commentRss><comments>http://weblogs.asp.net/hpreishuber/archive/2008/04/09/360-176-visual-studio-2008-where-we-are.aspx#comments</comments><description>&lt;p&gt;I attended as speaker the &lt;a href="http://www.microsoft.com/austria/events/bigdays/default.mspx"&gt;Bigdays&lt;/a&gt; Austria. My session was 360° Visual Studio which I made with &lt;a href="http://blogs.msdn.com/knom/"&gt;Max Knor&lt;/a&gt; from Microsoft. Our goal was to give in 70 minutes a complete overview and to code five samples&amp;nbsp; which have a story line. In sum we had ~1000 attendees in our session. Bigdays is a kind of roadshow in four cities.&lt;/p&gt; &lt;p&gt;Story: new community for developers. Key points: Photo, name, preferedlanguages stored in XML file.&lt;/p&gt; &lt;p&gt;I did everything with VB and Max used C#. &lt;/p&gt; &lt;p&gt;Lesson learned: more than half of audience are using 2008 and less then 20% use VB :-(&lt;/p&gt; &lt;p&gt;1) Sample: Web page with Listview, LINQ2XML, AJAX AlwaysvisibleControlextender&lt;/p&gt; &lt;p&gt;Lesson learned: audience love it, nearly everbody is thinking about web development&lt;/p&gt; &lt;p&gt;2) Sample by Max: WCF with REST which shows developers depending URI&lt;/p&gt; &lt;p&gt;Lesson learned: only few people are using WCF right now. Even less knows about REST or JSON.&lt;/p&gt; &lt;p&gt;3) Sample by Max: codeless list with WPF, Pictures, Border, Text&lt;/p&gt; &lt;p&gt;Lesson learned: only 1 % have used WPF, Audience miss better UI support ( eg Databinding) in Visual Studio. Max did it pure XAML and audience don't like it.&lt;/p&gt; &lt;p&gt;4) Sample dropped: Windows Mobile: plan was to shoot pictures live and upload it to WCF service. Not enough time, cool sample&lt;/p&gt; &lt;p&gt;Lesson learned: there is so much to tell about Visual Studio 2008. &lt;/p&gt; &lt;p&gt;5) Sample VSTO: Use Smart Tags to display picture of developers in Word document. &lt;/p&gt; &lt;p&gt;Lesson learned: not enough time to code. Only drag an drop of code snippet from toolbar was possible. After running the sample I could feel the "aha" in the room. Was something complete new which I believe have nobody seen before.&lt;/p&gt; &lt;p&gt;So back to my question&lt;/p&gt; &lt;p&gt;Where we are?&lt;/p&gt; &lt;p&gt;Visual Studio 2008 is a quite useful tool for the job. You can do more with it than even before. This would the chance to make upselling to our customers to offer eg alternative UI like mobile, web or WPF. The problem is we have not enough Microsoft minded developers. &lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6077925" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/About+Me/default.aspx">About Me</category><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/.NET+Rocks_2100_/default.aspx">.NET Rocks!</category><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/Speaking/default.aspx">Speaking</category></item><item><title>AJAX drag&amp; drop challenge: science fiction with web.preview</title><link>http://weblogs.asp.net/hpreishuber/archive/2008/01/30/ajax-drag-amp-drop-challenge-science-fiction-with-web-preview.aspx</link><pubDate>Wed, 30 Jan 2008 19:56:37 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5677724</guid><dc:creator>preishuber</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/hpreishuber/rsscomments.aspx?PostID=5677724</wfw:commentRss><comments>http://weblogs.asp.net/hpreishuber/archive/2008/01/30/ajax-drag-amp-drop-challenge-science-fiction-with-web-preview.aspx#comments</comments><description>&lt;p&gt;&lt;font size="2"&gt;Drag and drop is one of the missing features from the final &lt;/font&gt;&lt;a href="http://www.ppedv.de/schulung/kurse/ajaxAspNet.aspx"&gt;&lt;font size="2"&gt;ASP.NET 2.0 AJAX Extensions 1.0&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; (what a name). On my research work I figured out several ways to implement drag and drop and add &lt;/font&gt;&lt;a href="http://weblogs.asp.net/hpreishuber/archive/2008/01/27/ajax-drag-drop-challenge-new-with-profile-support.aspx"&gt;&lt;font size="2"&gt;profile support&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;My next sample uses the ASP.NET 3.5 Extensions Preview. Earlier builds were named ASP.NET AJAX Futures. Both includes a microsoft.web.preview.dll (version in this sample 1.2.61025). That sample works without additional jscript code.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;The idea comes from my visual studio which shows an extender which should be removed from toolkit some time ago. But it is here.&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/AJAXdragdropchallengesciencefict.preview_11E93/image_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="190" alt="image" src="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/AJAXdragdropchallengesciencefict.preview_11E93/image_thumb.png" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;It comes from installed 3.5 extensions.&lt;/p&gt; &lt;p&gt;After coping the microsoft.web.preview.dll into the local BIN directory of your website you have to add the tagPrefix in controls section of web.config.&lt;/p&gt;&lt;font color="#0000ff"&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#a31515"&gt;add&lt;/font&gt;&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;tagPrefix&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;aspPreview&lt;/font&gt;"&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;namespace&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;Microsoft.Web.Preview.UI&lt;/font&gt;"&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;assembly&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;Microsoft.Web.Preview&lt;/font&gt;"&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;/&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#a31515"&gt;add&lt;/font&gt;&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;tagPrefix&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;aspPreview&lt;/font&gt;"&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;namespace&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;Microsoft.Web.Preview.UI.Controls&lt;/font&gt;"&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;assembly&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;Microsoft.Web.Preview&lt;/font&gt;"&lt;font color="#0000ff"&gt;/&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;Then you can add the DragPanelExtender Control which points to a panel control using attribut targetControlID. The position of the dragged panel will be stored in profile information as a single string. The name must be set by profileproperty attribut. Internal it must store x and y position. The attribut profileserviceID points to a new servercontrol profileservice.&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;asp&lt;/font&gt;&lt;font color="#0000ff"&gt;:&lt;/font&gt;&lt;font color="#a31515"&gt;ScriptManager&lt;/font&gt; &lt;font color="#ff0000"&gt;ID&lt;/font&gt;&lt;font color="#0000ff"&gt;="ScriptManager1"&lt;/font&gt; &lt;font color="#ff0000"&gt;runat&lt;/font&gt;&lt;font color="#0000ff"&gt;="server"&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;ProfileService&lt;/font&gt; &lt;font color="#ff0000"&gt;LoadProperties&lt;/font&gt;&lt;font color="#0000ff"&gt;="dragdropprofile.top,dragdropprofile.left"/&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515"&gt;asp&lt;/font&gt;&lt;font color="#0000ff"&gt;:&lt;/font&gt;&lt;font color="#a31515"&gt;ScriptManager&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;asp&lt;/font&gt;&lt;font color="#0000ff"&gt;:&lt;/font&gt;&lt;font color="#a31515"&gt;Panel&lt;/font&gt; &lt;font color="#ff0000"&gt;ID&lt;/font&gt;&lt;font color="#0000ff"&gt;="Panel1"&lt;/font&gt; &lt;font color="#ff0000"&gt;runat&lt;/font&gt;&lt;font color="#0000ff"&gt;="server"&lt;/font&gt; &lt;font color="#ff0000"&gt;BorderColor&lt;/font&gt;&lt;font color="#0000ff"&gt;="#3333FF"&lt;/font&gt; &lt;font color="#ff0000"&gt;BorderWidth&lt;/font&gt;&lt;font color="#0000ff"&gt;="5px"&lt;/font&gt; &lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#ff0000"&gt;Width&lt;/font&gt;&lt;font color="#0000ff"&gt;="112px"&amp;gt; &lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;font size="2"&gt;DragOverlay&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;br&lt;/font&gt; &lt;font color="#0000ff"&gt;/&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;font size="2"&gt;extender&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;br&lt;/font&gt; &lt;font color="#0000ff"&gt;/&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515"&gt;asp&lt;/font&gt;&lt;font color="#0000ff"&gt;:&lt;/font&gt;&lt;font color="#a31515"&gt;Panel&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;aspPreview&lt;/font&gt;&lt;font color="#0000ff"&gt;:&lt;/font&gt;&lt;font color="#a31515"&gt;DragOverlayExtender&lt;/font&gt; &lt;font color="#ff0000"&gt;ID&lt;/font&gt;&lt;font color="#0000ff"&gt;="Panel1_DragOverlayExtender"&lt;/font&gt; &lt;font color="#ff0000"&gt;runat&lt;/font&gt;&lt;font color="#0000ff"&gt;="server"&lt;/font&gt; &lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#ff0000"&gt;TargetControlID&lt;/font&gt;&lt;font color="#0000ff"&gt;="Panel1"&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#ff0000"&gt;ProfileServiceID&lt;/font&gt;&lt;font color="#0000ff"&gt;="ProfileService1" &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#ff0000"&gt;ProfileProperty&lt;/font&gt;&lt;font color="#0000ff"&gt;="dragoverlaystring"&lt;/font&gt; &lt;font color="#0000ff"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515"&gt;aspPreview&lt;/font&gt;&lt;font color="#0000ff"&gt;:&lt;/font&gt;&lt;font color="#a31515"&gt;DragOverlayExtender&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;asppreview&lt;/font&gt;&lt;font color="#0000ff"&gt;:&lt;/font&gt;&lt;font color="#a31515"&gt;profileservice&lt;/font&gt; &lt;font color="#ff0000"&gt;id&lt;/font&gt;&lt;font color="#0000ff"&gt;="ProfileService1"&lt;/font&gt; &lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#ff0000"&gt;runat&lt;/font&gt;&lt;font color="#0000ff"&gt;="server" &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#ff0000"&gt;AutoSave&lt;/font&gt;&lt;font color="#0000ff"&gt;="True"&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515"&gt;asppreview&lt;/font&gt;&lt;font color="#0000ff"&gt;:&lt;/font&gt;&lt;font color="#a31515"&gt;profileservice&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;Try it- The samples will store the new position of your panel also if you close the browser and reopen it. But- dont forget that is preview and can be changed by microsoft without any notice. Positive is that that function will be supported from microsoft. &lt;a href="http://www.asp.net/downloads/3.5-extensions/readme/"&gt;Documentation&lt;/a&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5677724" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hpreishuber/archive/tags/Ajax/default.aspx">Ajax</category></item><item><title>AJAX drag drop Challenge: new with profile support</title><link>http://weblogs.asp.net/hpreishuber/archive/2008/01/27/ajax-drag-drop-challenge-new-with-profile-support.aspx</link><pubDate>Sun, 27 Jan 2008 22:46:29 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5661508</guid><dc:creator>preishuber</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/hpreishuber/rsscomments.aspx?PostID=5661508</wfw:commentRss><comments>http://weblogs.asp.net/hpreishuber/archive/2008/01/27/ajax-drag-drop-challenge-new-with-profile-support.aspx#comments</comments><description>&lt;p&gt;&lt;font size="2"&gt;I have written a &lt;/font&gt;&lt;a href="http://weblogs.asp.net/hpreishuber/archive/2007/12/22/ajax-drag-amp-drop-challenge.aspx"&gt;&lt;font size="2"&gt;proof of concept blog&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; post about drag and drop with AJAX toolkit. In my second part I will take a look at the possibility's to store the new position. I earlier builds toolkit control supports direct storing in profile. That feature was &lt;/font&gt;&lt;a href="http://weblogs.asp.net/hpreishuber/archive/2007/03/22/disaster-strategy-ajax-toolkit-on-codeplex-read-it.aspx"&gt;&lt;font size="2"&gt;dropped from&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; toolkit. &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;My goal is to use DragPanelextender and read and write panel position from profile store. So I use a Panel, DragPanelExtender and a Label as dragobject.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;asp&lt;/font&gt;&lt;font color="#0000ff"&gt;:&lt;/font&gt;&lt;font color="#a31515"&gt;Panel&lt;/font&gt; &lt;font color="#ff0000"&gt;ID&lt;/font&gt;&lt;font color="#0000ff"&gt;="dragPanel1"&lt;/font&gt; &lt;font color="#ff0000"&gt;runat&lt;/font&gt;&lt;font color="#0000ff"&gt;="server"&lt;/font&gt; &lt;font color="#ff0000"&gt;BackColor&lt;/font&gt;&lt;font color="#0000ff"&gt;="#00CC66"&lt;/font&gt; &lt;font color="#ff0000"&gt;Height&lt;/font&gt;&lt;font color="#0000ff"&gt;="83px"&lt;/font&gt; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#ff0000"&gt;Width&lt;/font&gt;&lt;font color="#0000ff"&gt;="138px"&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;asp&lt;/font&gt;&lt;font color="#0000ff"&gt;:&lt;/font&gt;&lt;font color="#a31515"&gt;Label&lt;/font&gt; &lt;font color="#ff0000"&gt;ID&lt;/font&gt;&lt;font color="#0000ff"&gt;="dragLabel1"&lt;/font&gt; &lt;font color="#ff0000"&gt;runat&lt;/font&gt;&lt;font color="#0000ff"&gt;="server"&lt;/font&gt; &lt;font color="#ff0000"&gt;Text&lt;/font&gt;&lt;font color="#0000ff"&gt;="Dragme!"&amp;gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515"&gt;asp&lt;/font&gt;&lt;font color="#0000ff"&gt;:&lt;/font&gt;&lt;font color="#a31515"&gt;Label&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515"&gt;asp&lt;/font&gt;&lt;font color="#0000ff"&gt;:&lt;/font&gt;&lt;font color="#a31515"&gt;Panel&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;cc1&lt;/font&gt;&lt;font color="#0000ff"&gt;:&lt;/font&gt;&lt;font color="#a31515"&gt;DragPanelExtender&lt;/font&gt; &lt;font color="#ff0000"&gt;ID&lt;/font&gt;&lt;font color="#0000ff"&gt;="Panel1_DragPanelExtender"&lt;/font&gt; &lt;font color="#ff0000"&gt;runat&lt;/font&gt;&lt;font color="#0000ff"&gt;="server"&lt;/font&gt; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#ff0000"&gt;DragHandleID&lt;/font&gt;&lt;font color="#0000ff"&gt;="dragLabel1"&lt;/font&gt; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#ff0000"&gt;BehaviorID&lt;/font&gt;&lt;font color="#0000ff"&gt;="dragPanelBehavior1"&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#ff0000"&gt;Enabled&lt;/font&gt;&lt;font color="#0000ff"&gt;="True"&lt;/font&gt; &lt;font color="#ff0000"&gt;TargetControlID&lt;/font&gt;&lt;font color="#0000ff"&gt;="dragPanel1"&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515"&gt;cc1&lt;/font&gt;&lt;font color="#0000ff"&gt;:&lt;/font&gt;&lt;font color="#a31515"&gt;DragPanelExtender&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;br&lt;/font&gt; &lt;font color="#0000ff"&gt;/&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;First we have to register a Event when dragpanel have a new location on page. We use propertchanged when&amp;nbsp; &lt;strong&gt;Page and AJAX Application&lt;/strong&gt; is loaded. The Function Storeposition1 will handle the communication to AJAX profile service. The function setPostion is reading the values and setting the position on loading the page. &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;script&lt;/font&gt; &lt;font color="#ff0000"&gt;type&lt;/font&gt;&lt;font color="#0000ff"&gt;="text/javascript"&lt;/font&gt; &lt;font color="#ff0000"&gt;language&lt;/font&gt;&lt;font color="#0000ff"&gt;="javascript"&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;font size="2"&gt;window.onload = &lt;font color="#0000ff"&gt;function&lt;/font&gt;() {&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;Sys.Application.add_load(ApplicationLoaded);&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt;&lt;font color="#0000ff"&gt; &lt;p&gt;&lt;font size="2"&gt;function&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ApplicationLoaded()&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;{&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;setPosition();&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;$find(&lt;font color="#a31515"&gt;"dragPanelBehavior1"&lt;/font&gt;).add_propertyChanged(storePosition1); &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;In web.config following entry's are necessary&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;First the typical format information of Profile Service&lt;/font&gt;&lt;/p&gt;&lt;font color="#0000ff"&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#a31515"&gt;profile&lt;/font&gt;&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;enabled&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;true&lt;/font&gt;"&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;properties&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#a31515"&gt;group&lt;/font&gt;&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;dragdropprofile&lt;/font&gt;"&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#a31515"&gt;add&lt;/font&gt;&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;top&lt;/font&gt;"&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;type&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;Integer&lt;/font&gt;"&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;allowAnonymous&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;true&lt;/font&gt;"&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;/&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#a31515"&gt;add&lt;/font&gt;&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;left&lt;/font&gt;"&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;type&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;Integer&lt;/font&gt;"&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;allowAnonymous&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;true&lt;/font&gt;"&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;/&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;group&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#a31515"&gt;add&lt;/font&gt;&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;hannes&lt;/font&gt;"&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;type&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;string&lt;/font&gt;"&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;/&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;properties&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#a31515"&gt;profile&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;font size="2"&gt;Second the settings for the application bridge of profileService. The sample enable read and&amp;nbsp; write of top and left within dargdropprofile group.&lt;/font&gt;&lt;/p&gt;&lt;font color="#0000ff"&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;system.web.extensions&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;scripting&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;webServices&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;/p&gt;&lt;font size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#a31515"&gt;profileService&lt;/font&gt;&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;enabled&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;true&lt;/font&gt;"&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt; &lt;/font&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#ff0000"&gt;readAccessProperties&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;dragdropprofile.top, dragdropprofile.left&lt;/font&gt;"&lt;/font&gt;&lt;/p&gt;&lt;font color="#0000ff"&gt; &lt;p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#ff0000"&gt;writeAccessProperties&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;"&lt;font color="#0000ff"&gt;dragdropprofile.top, dragdropprofile.left&lt;/font&gt;"&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;/&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;webServices&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;scripting&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#a31515"&gt;system.web.extensions&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;font size="2"&gt;Then we can go to the "dragged" event storePosition1 and look for the new location of the Panel. Use the behaviorID from DragPanelextender. &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt; storePosition1(sender, eventargs)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;{&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;(eventargs.get_propertyName() == &lt;font color="#a31515"&gt;'location'&lt;/font&gt;) &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;{&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt; dragPanel = $find(&lt;font color="#a31515"&gt;'dragPanelBehavior1'&lt;/font&gt;); &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt; loc = dragPanel.get_location() ;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;Sys.Services.ProfileService.properties.dragdropprofile.top = loc.x; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;Sys.Services.ProfileService.properties.dragdropprofile.left = loc.y; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;Sys.Services.ProfileService.save(&lt;font color="#0000ff"&gt;null&lt;/font&gt;, onSaveSuccess, onError,&lt;font color="#0000ff"&gt;null&lt;/font&gt;);&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;Cause callbacks to server can take a while and should not stop UI from responding, profile save is done asynchronously. Events for succes and error are needed.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt; onSaveSuccess(result, userContext, methodName)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;{&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;alert(&lt;font color="#a31515"&gt;"saved"&lt;/font&gt;);&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt; onError()&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;{&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;alert(&lt;font color="#a31515"&gt;"not saved"&lt;/font&gt;);&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;When you have values in aspnetdb profile table you can restore the position of panel on page load.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt; setPosition(){&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt; x=Sys.Services.ProfileService.properties.dragdropprofile.top;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt; y=Sys.Services.ProfileService.properties.dragdropprofile.left;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt; newLocation = &lt;font color="#0000ff"&gt;new&lt;/font&gt; Sys.UI.Point(x,y);&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;$find(&lt;font color="#a31515"&gt;'dragPanelBehavior1'&lt;/font&gt;).set_location(newLocation)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;At the end don't forget the Scriptmanager as first control on your page. I use a trick to load the profile property's without code by declaration.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;asp&lt;/font&gt;&lt;font color="#0000ff"&gt;:&lt;/font&gt;&lt;font color="#a31515"&gt;ScriptManager&lt;/font&gt; &lt;font color="#ff0000"&gt;ID&lt;/font&gt;&lt;font color="#0000ff"&gt;="ScriptManager1"&lt;/font&gt; &lt;font color="#ff0000"&gt;runat&lt;/font&gt;&lt;font color="#0000ff"&gt;="server"&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;ProfileService&lt;/font&gt; &lt;font color="#ff0000"&gt;LoadProperties&lt;/font&gt;&lt;font color="#0000ff"&gt;="dragdropprofile.top,dragdropprofile.left"&lt;/font&gt; &lt;font color="#0000ff"&gt;/&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515"&gt;asp&lt;/font&gt;&lt;font color="#0000ff"&gt;:&lt;/font&gt;&lt;font color="#a31515"&gt;ScriptManager&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;that should it be! have fun and extend it with your ideas.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5661508" width="1" height="1"&gt;</description></item></channel></rss>