<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Hannes Preishuber</title><subtitle type="html">ON ERROR RESUME NEXT!</subtitle><id>http://weblogs.asp.net/hpreishuber/atom.aspx</id><link rel="alternate" type="text/html" href="http://weblogs.asp.net/hpreishuber/default.aspx" /><link rel="self" type="application/atom+xml" href="http://weblogs.asp.net/hpreishuber/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20510.895">Community Server</generator><updated>2008-07-29T20:32:00Z</updated><entry><title>ADO.NET Dataservice This collection already contains an address with scheme http PartII</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/hpreishuber/archive/2009/01/22/ado-net-dataservice-this-collection-already-contains-an-address-with-scheme-http-partii.aspx" /><id>http://weblogs.asp.net/hpreishuber/archive/2009/01/22/ado-net-dataservice-this-collection-already-contains-an-address-with-scheme-http-partii.aspx</id><published>2009-01-22T20:04:39Z</published><updated>2009-01-22T20:04:39Z</updated><content type="html">&lt;p&gt;You may have searched for&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;This collection already contains an address with scheme http.&amp;#160; There can be at most one address per scheme in this collection.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Parameter name: item    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;I have written some time ago &lt;a href="http://weblogs.asp.net/hpreishuber/archive/2008/10/10/ado-net-dataservices-this-collection-already-contains-an-address-with-scheme-http.aspx"&gt;a blog post&lt;/a&gt; which have a workaround with removing http headers in iis.&lt;/p&gt;  &lt;p&gt;Now I found in documentation prefixfilters which allow the use of ado.net dataservice with multiple host headers on website. There must be some setting in web.config like&lt;/p&gt;  &lt;pre class="csharpcode"&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;system.serviceModel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;serviceHostingEnvironment&lt;/span&gt; &lt;span class="attr"&gt;aspNetCompatibilityEnabled&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;baseAddressPrefixFilters&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;add&lt;/span&gt; &lt;span class="attr"&gt;prefix&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;http://www.vsone.de&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;baseAddressPrefixFilters&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;serviceHostingEnvironment&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;system.serviceModel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;configuration&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&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;p&gt;No I run in second problem.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;IIS specified authentication schemes 'Basic, Anonymous', but the binding only supports specification of exactly one authentication scheme.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;OK- it’s easy to change that in IIS. But what's about authenticated access e.g. for Frontpage server extensions?&lt;/p&gt;

&lt;p&gt;Still looking…. 
  &lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Next I got a error message&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Request Error 
      &lt;br /&gt;The server encountered an error processing the request. See server logs for more details&lt;/strong&gt;&lt;/em&gt; 

  &lt;br /&gt;aha-mhh- which logs- where, WTF?&lt;/p&gt;

&lt;p&gt;I found a sloution to display the full error within browser. You have to add in service metadata.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&amp;lt;System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults := &lt;span class="kwrd"&gt;true&lt;/span&gt;)&amp;gt; _
&lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Class&lt;/span&gt; EventDataService1&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;Now I have the next error:&lt;/p&gt;

&lt;p class="intro"&gt;&lt;em&gt;&lt;strong&gt;bei System.Data.Metadata.Edm.MetadataArtifactLoaderCompositeResource.LoadResources(String assemblyName, String resourceName, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver resolver) bei System.Data.Metadata.Edm.MetadataArtifactLoaderCompositeResource.CreateResourceLoader(String path, ExtensionCheck extensionCheck, String validExtension, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver resolver) bei System.Data.Metadata.Edm.MetadataArtifactLoader.Create(String path, ExtensionCheck extensionCheck, String validExtension, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver resolver) bei System.Data.EntityClient.EntityConnection.SplitPaths(String paths) bei System.Data.EntityClient.EntityConnection.GetMetadataWorkspace(Boolean initializeAllCollections) bei System.Data.Objects.ObjectContext.RetrieveMetadataWorkspaceFromConnection() bei System.Data.Objects.ObjectContext..ctor(EntityConnection connection, Boolean isConnectionConstructor) bei System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName) bei eventsEntities..ctor() in C:\Inetpub\vs2005\App_Code\Model1.Designer.vb:Zeile 27. bei invoke_constructor() bei System.Data.Services.DataService`1.CreateDataSource() bei System.Data.Services.DataService`1.EnsureProviderAndConfigForRequest() bei System.Data.Services.DataService`1.ProcessRequestForMessage(Stream messageBody) bei SyncInvokeProcessRequestForMessage(Object , Object[] , Object[] ) bei System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]&amp;amp; outputs) bei System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp;amp; rpc) bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp;amp; rpc) bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc&amp;amp; rpc) bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc&amp;amp; rpc) bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&amp;amp; rpc) bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc&amp;amp; rpc) bei System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Reason now is that I developed with a Silverlight 2 project. And destination is a website. Connection String must be diffrent.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Web Project&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;connectionString=&amp;quot;metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Web Site&lt;/strong&gt;&lt;/p&gt;
&lt;font color="#0000ff" size="2"&gt;&lt;font color="#333333" size="2"&gt;
    &lt;p&gt;connectionString=&amp;quot;metadata=res://*;&lt;/p&gt;
  &lt;/font&gt;&lt;/font&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6857010" width="1" height="1"&gt;</content><author><name>preishuber</name><uri>http://weblogs.asp.net/members/preishuber.aspx</uri></author><category term="ASP.NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/ASP.NET/default.aspx" /><category term=".NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx" /></entry><entry><title>Silverlight 2.0 Compression Rate</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/hpreishuber/archive/2009/01/02/silverlight-2-0-compression-rate.aspx" /><id>http://weblogs.asp.net/hpreishuber/archive/2009/01/02/silverlight-2-0-compression-rate.aspx</id><published>2009-01-02T14:11:00Z</published><updated>2009-01-02T14:11:00Z</updated><content type="html">&lt;P&gt;After a short discussion in silverlight forums with a guy who have only 19kb line, I checked out compression for XAP files. A XAP is a zipped package of DLL’s and resources. With winrar installed you can open by context menu from Visual Studio Explorer the xap (clientbin). It contains files like&lt;/P&gt;
&lt;P&gt;&lt;A href="http://weblogs.asp.net/blogs/hpreishuber/image_4A667910.png" mce_href="http://weblogs.asp.net/blogs/hpreishuber/image_4A667910.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://weblogs.asp.net/blogs/hpreishuber/image_thumb_36F5510A.png" width=473 height=274 mce_src="http://weblogs.asp.net/blogs/hpreishuber/image_thumb_36F5510A.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The size of the package in this case is 750 KB. I unzipped the content and compressed it with Winrar again and- surprise- surprise, package size is now 547 KB. A reduction more than 35%. Only rename the zip back to xap. &lt;/P&gt;
&lt;P&gt;I will investigate a little bit, how to automate that within the build process.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6814938" width="1" height="1"&gt;</content><author><name>preishuber</name><uri>http://weblogs.asp.net/members/preishuber.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/Silverlight/default.aspx" /></entry><entry><title>B# and Silverlight Isolated Storage</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/hpreishuber/archive/2008/11/29/b-and-silverlight-isolated-storage.aspx" /><id>http://weblogs.asp.net/hpreishuber/archive/2008/11/29/b-and-silverlight-isolated-storage.aspx</id><published>2008-11-29T09:02:54Z</published><updated>2008-11-29T09:02:54Z</updated><content type="html">&lt;p&gt;I am a VB developer. As most of expert coder are using C# I must step forward. B# is the language which can be written by VB guys and make it readable for C# gurus. Today's topic is the data store of Silverlight on client side- isolated storage.&lt;/p&gt;  &lt;p&gt;Isolated Storage is a concept from .NET. It allows to store information on a per application base, like cookies. Major differences are much more space and more security. There exists several ways to store data. First option is like ASP.NET appsettings. &lt;/p&gt;  &lt;pre class="csharpcode"&gt; &lt;span class="kwrd"&gt;Private&lt;/span&gt; appSettings &lt;span class="kwrd"&gt;As&lt;/span&gt; IsolatedStorageSettings = _
           IsolatedStorageSettings.ApplicationSettings &lt;span class="rem"&gt;';&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;p&gt;Based on a Key Object collection you can store simple data like strings or also complex data like generic lists.&lt;/p&gt;

&lt;pre class="csharpcode"&gt; &lt;span class="kwrd"&gt;Dim&lt;/span&gt; liste &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; List(Of tasks)&lt;span class="rem"&gt;';&lt;/span&gt;
.....
 appSettings.Add(&lt;span class="str"&gt;&amp;quot;daten&amp;quot;&lt;/span&gt;, liste) &lt;span class="rem"&gt;';&lt;/span&gt;
 appSettings.Add(&lt;span class="str"&gt;&amp;quot;test&amp;quot;&lt;/span&gt;, &lt;span class="kwrd"&gt;New&lt;/span&gt; &lt;span class="kwrd"&gt;Date&lt;/span&gt;)&lt;span class="rem"&gt;';&lt;/span&gt;
 appSettings.Add(&lt;span class="str"&gt;&amp;quot;hannesKey&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Hannes Preishuber&amp;quot;&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;p&gt;Reading is as simple&lt;/p&gt;

&lt;pre class="csharpcode"&gt; ausgabe.Text = appSettings(&lt;span class="str"&gt;&amp;quot;hannesKey&amp;quot;&lt;/span&gt;)&lt;span class="rem"&gt;';&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;p&gt;Isolated storage can also be used like a file system to store images or xaml. Code is written with B#.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;Using mystore &lt;span class="kwrd"&gt;As&lt;/span&gt; IsolatedStorageFile = _
        IsolatedStorageFile.GetUserStoreForApplication()&lt;span class="rem"&gt;';&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;p&gt;There are a lot of samples in web which shows file read and write access. I will top that with storing objects as file. For that object must be serialized. Silverlight supports XAML with DataContractSerializer class or JSON with DataContractJsonSerializer. For the last one you need to reference System.ServiceModel.Web.dll. With following code you can write the generic list as stream. &lt;/p&gt;

&lt;pre class="csharpcode"&gt; &lt;span class="kwrd"&gt;Dim&lt;/span&gt; memStream &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; MemoryStream&lt;span class="rem"&gt;';&lt;/span&gt;
 &lt;span class="kwrd"&gt;Dim&lt;/span&gt; ser &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; DataContractJsonSerializer(liste.&lt;span class="kwrd"&gt;GetType&lt;/span&gt;)&lt;span class="rem"&gt;';&lt;/span&gt;
 ser.WriteObject(memStream, liste)&lt;span class="rem"&gt;';&lt;/span&gt;
 memStream.Position = 0&lt;span class="rem"&gt;';&lt;/span&gt;
 &lt;span class="kwrd"&gt;Dim&lt;/span&gt; mystore &lt;span class="kwrd"&gt;As&lt;/span&gt; IsolatedStorageFile = IsolatedStorageFile.GetUserStoreForApplication()&lt;span class="rem"&gt;';&lt;/span&gt;
 Using reader &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; StreamReader(memStream)&lt;span class="rem"&gt;';&lt;/span&gt;
    Using writeStream &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; IsolatedStorageFileStream(&lt;span class="str"&gt;&amp;quot;meinObjekt.txt&amp;quot;&lt;/span&gt;, _
FileMode.Create, mystore)&lt;span class="rem"&gt;';&lt;/span&gt;
           Using writer &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; StreamWriter(writeStream)&lt;span class="rem"&gt;';&lt;/span&gt;
                  &lt;span class="kwrd"&gt;Dim&lt;/span&gt; temp &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt; = reader.ReadToEnd&lt;span class="rem"&gt;';&lt;/span&gt;
                  writer.Write(temp)&lt;span class="rem"&gt;';&lt;/span&gt;
            &lt;span class="kwrd"&gt;End&lt;/span&gt; Using&lt;span class="rem"&gt;';&lt;/span&gt;
     &lt;span class="kwrd"&gt;End&lt;/span&gt; Using&lt;span class="rem"&gt;';&lt;/span&gt;
&lt;span class="kwrd"&gt;End&lt;/span&gt; Using';&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;What have been written can be read&lt;/p&gt;

&lt;pre class="csharpcode"&gt;Using mystore &lt;span class="kwrd"&gt;As&lt;/span&gt; IsolatedStorageFile = _&lt;span class="rem"&gt;';&lt;/span&gt;
        IsolatedStorageFile.GetUserStoreForApplication()&lt;span class="rem"&gt;';&lt;/span&gt;
        Using fStream &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; IsolatedStorageFileStream( _&lt;span class="rem"&gt;';&lt;/span&gt;
              &lt;span class="str"&gt;&amp;quot;meinObjekt.txt&amp;quot;&lt;/span&gt;, FileMode.OpenOrCreate, mystore)&lt;span class="rem"&gt;';&lt;/span&gt;
            Using sr &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; StreamReader(fStream)&lt;span class="rem"&gt;';&lt;/span&gt;
                    ausgabe.Text = sr.ReadToEnd()&lt;span class="rem"&gt;';&lt;/span&gt;
            &lt;span class="kwrd"&gt;End&lt;/span&gt; Using&lt;span class="rem"&gt;';&lt;/span&gt;
        &lt;span class="kwrd"&gt;End&lt;/span&gt; Using&lt;span class="rem"&gt;';&lt;/span&gt;
&lt;span class="kwrd"&gt;End&lt;/span&gt; Using&lt;span class="rem"&gt;';&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;p&gt;The sample writes to Textblock as JSON&lt;/p&gt;

&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/hpreishuber/image_62449EDF.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/hpreishuber/image_thumb_277CF609.png" width="244" height="154" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;same as XML with DataContractSerializer&lt;/p&gt;

&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/hpreishuber/image_08E30560.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/hpreishuber/image_thumb_336EC070.png" width="244" height="152" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6759769" width="1" height="1"&gt;</content><author><name>preishuber</name><uri>http://weblogs.asp.net/members/preishuber.aspx</uri></author><category term="C#" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/C_2300_/default.aspx" /><category term=".NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx" /><category term="VB.NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/VB.NET/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/Silverlight/default.aspx" /></entry><entry><title>Input Validation with Silverlight</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/hpreishuber/archive/2008/11/23/input-validation-with-silverlight.aspx" /><id>http://weblogs.asp.net/hpreishuber/archive/2008/11/23/input-validation-with-silverlight.aspx</id><published>2008-11-23T10:23:00Z</published><updated>2008-11-23T10:23:00Z</updated><content type="html">&lt;P&gt;I miss ASP.NET. With the 2.0 Microsoft had the world best technology for creating applications of all kind. Small or large, ASP.NET 2.0 have features for all. Now several years later we have Silverlight 2 (no 2.0) and should be good as ASP.NET 2.0!? I don't think so- Silverlight have some great advantages but even more missing features. And some of them essential and important. &lt;/P&gt;
&lt;P&gt;For me user input validation is one of them. To get the right data from user in correct format is a huge challenge and costs a lot of development time. ASP.NET have rich and easy validator controls to do the job. Silverlight have not.&lt;/P&gt;
&lt;P&gt;But Input validation must done, so how? I will show you my approach. First of all, where to validate?&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Database &lt;/LI&gt;
&lt;LI&gt;Data Layer &lt;/LI&gt;
&lt;LI&gt;UI Layer &lt;/LI&gt;
&lt;LI&gt;User Interface &lt;/LI&gt;
&lt;LI&gt;Nowhere &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I don't like typing things several times. I hate to make data access and type field name 10 times in table, properties and UI. I like the drag and drop stuff and get declaration of where and how my data comes. (no dataset at all ;-)).&amp;nbsp; Silverlight doesn't have that by design and by architecture. The design part comes from Microsoft they have not enough resources to implement every feature within some weeks. &lt;/P&gt;
&lt;P&gt;Second problem with data validation comes from loosely connected systems. The user interface is fare fare away from database. Sometimes thousands of km/ miles are between them. Proxy server, hubs, switches even different protocols and ports. So from that view it doesn't make sense to get data schema each time from table and reuse it in UI. &lt;/P&gt;
&lt;P&gt;Input validation rules must be declared physical narrow to user interface. The closest thing I can imaging is within the same memory address space.&lt;/P&gt;
&lt;H1&gt;The practice&lt;/H1&gt;
&lt;P&gt;Cause of disliking typing code I use a ADO.NET Entity model and a ADO.NET Dataservice to get the data. Visual Studio 2008 creates a proxy class (reference.vb) for the Silverlight project. Database is northwind with table customer. The goal is a input dialog. Phone number is limited to 20 characters. Error is shown as tooltip (zu lange). Textfield is marked as read. Tabbing out will do the validation.&lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 460px; HEIGHT: 370px" height=370 src="http://weblogs.asp.net/blogs/hpreishuber/image_08E446DE.png" width=460 mce_src="http://weblogs.asp.net/blogs/hpreishuber/image_08E446DE.png"&gt;&lt;/P&gt;
&lt;P&gt;First of all I create the rule set. I do that in the created proxy class (reference.vb) and check the length and throw an exception.&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;Public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Property&lt;/SPAN&gt; Phone() &lt;SPAN class=kwrd&gt;As&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;String&lt;/SPAN&gt;
        &lt;SPAN class=kwrd&gt;Get&lt;/SPAN&gt;
                &lt;SPAN class=kwrd&gt;Return&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Me&lt;/SPAN&gt;._Phone
        &lt;SPAN class=kwrd&gt;End&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Get&lt;/SPAN&gt;
        &lt;SPAN class=kwrd&gt;Set&lt;/SPAN&gt;
                &lt;SPAN class=kwrd&gt;If&lt;/SPAN&gt; Len(value) &amp;gt; 20 &lt;SPAN class=kwrd&gt;Then&lt;/SPAN&gt;
                    &lt;SPAN class=kwrd&gt;Throw&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;New&lt;/SPAN&gt; Exception(&lt;SPAN class=str&gt;"zu lange"&lt;/SPAN&gt;)
                &lt;SPAN class=kwrd&gt;End&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;If&lt;/SPAN&gt;
                &lt;SPAN class=kwrd&gt;Me&lt;/SPAN&gt;.OnPhoneChanging(value)
                &lt;SPAN class=kwrd&gt;Me&lt;/SPAN&gt;._Phone = value
                &lt;SPAN class=kwrd&gt;Me&lt;/SPAN&gt;.OnPhoneChanged()
        &lt;SPAN class=kwrd&gt;End&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Set&lt;/SPAN&gt;
&lt;SPAN class=kwrd&gt;End&lt;/SPAN&gt; Property&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;Not the best solution. If somebody is updating service reference, your code will be overwritten.&lt;/P&gt;
&lt;P&gt;The databinding in the Textbox must have twoway binding and two additional attributes set. That is necessary to get a special event in error case (exception) which will defined in next step&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;TextBox&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Margin&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="8,8,144,8"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Grid&lt;/SPAN&gt;.&lt;SPAN class=attr&gt;Column&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="1"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Grid&lt;/SPAN&gt;.&lt;SPAN class=attr&gt;Row&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="3"&lt;/SPAN&gt; 
&lt;SPAN class=attr&gt;Text&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="{Binding Phone,Mode=TwoWay,NotifyOnValidationError=true,  
ValidatesOnExceptions=true}"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;/&amp;gt;&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;P&gt;Then we can create the code for the event BindingValidationError of the grid, named Layoutroot. I decided to show the exception message as tooltip and to change backcolor of Texbox. eventargs gives reference to Textbox and also to eventaction (Added, Removed)&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; LayoutRoot_BindingValidationError(&lt;SPAN class=kwrd&gt;ByVal&lt;/SPAN&gt; sender &lt;SPAN class=kwrd&gt;As&lt;/SPAN&gt; System.&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.Controls.ValidationErrorEventArgs)
     &lt;SPAN class=kwrd&gt;If&lt;/SPAN&gt; e.Action = ValidationErrorEventAction.Added &lt;SPAN class=kwrd&gt;Then&lt;/SPAN&gt;
            &lt;SPAN class=kwrd&gt;CType&lt;/SPAN&gt;(e.OriginalSource, TextBox).Background = _
&lt;SPAN class=kwrd&gt;New&lt;/SPAN&gt; SolidColorBrush(Colors.Red)
            ToolTipService.SetToolTip(&lt;SPAN class=kwrd&gt;CType&lt;/SPAN&gt;(e.OriginalSource, TextBox), _
e.&lt;SPAN class=kwrd&gt;Error&lt;/SPAN&gt;.Exception.Message)
     &lt;SPAN class=kwrd&gt;Else&lt;/SPAN&gt;
            &lt;SPAN class=kwrd&gt;CType&lt;/SPAN&gt;(e.OriginalSource, TextBox).Background = _
&lt;SPAN class=kwrd&gt;New&lt;/SPAN&gt; SolidColorBrush(Colors.White)
     &lt;SPAN class=kwrd&gt;End&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;If&lt;/SPAN&gt;
&lt;SPAN class=kwrd&gt;End&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Sub&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;P&gt;Full code for completion&lt;/P&gt;&lt;PRE class=csharpcode&gt;Partial &lt;SPAN class=kwrd&gt;Public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Class&lt;/SPAN&gt; page29
    &lt;SPAN class=kwrd&gt;Inherits&lt;/SPAN&gt; UserControl
    &lt;SPAN class=kwrd&gt;Dim&lt;/SPAN&gt; cust &lt;SPAN class=kwrd&gt;As&lt;/SPAN&gt; ServiceReference1.NorthwindEntities = _&lt;BR&gt;&lt;SPAN class=kwrd&gt;New&lt;/SPAN&gt; ServiceReference1.NorthwindEntities(&lt;SPAN class=kwrd&gt;New&lt;/SPAN&gt; Uri(&lt;SPAN class=str&gt;"WebDataService1.svc"&lt;/SPAN&gt;, UriKind.Relative))

    &lt;SPAN class=kwrd&gt;Public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Sub&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;New&lt;/SPAN&gt; 
        InitializeComponent()
    &lt;SPAN class=kwrd&gt;End&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Sub&lt;/SPAN&gt;

    

    &lt;SPAN class=kwrd&gt;Private&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Sub&lt;/SPAN&gt; page29_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;BR&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
        cust.BeginExecute(Of ServiceReference1.Customers)_&lt;BR&gt;(&lt;SPAN class=kwrd&gt;New&lt;/SPAN&gt; Uri(&lt;SPAN class=str&gt;"Customers"&lt;/SPAN&gt;, UriKind.Relative), &lt;SPAN class=kwrd&gt;AddressOf&lt;/SPAN&gt; fertig, cust)

    &lt;SPAN class=kwrd&gt;End&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Sub&lt;/SPAN&gt;
    &lt;SPAN class=kwrd&gt;Public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Sub&lt;/SPAN&gt; fertig(&lt;SPAN class=kwrd&gt;ByVal&lt;/SPAN&gt; result &lt;SPAN class=kwrd&gt;As&lt;/SPAN&gt; IAsyncResult)
        LayoutRoot.DataContext = _&lt;BR&gt;cust.EndExecute(Of ServiceReference1.Customers)(result).First

    &lt;SPAN class=kwrd&gt;End&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Sub&lt;/SPAN&gt;

    &lt;SPAN class=kwrd&gt;Private&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Sub&lt;/SPAN&gt; LayoutRoot_BindingValidationError(&lt;SPAN class=kwrd&gt;ByVal&lt;/SPAN&gt; sender &lt;SPAN class=kwrd&gt;As&lt;/SPAN&gt; System.&lt;SPAN class=kwrd&gt;Object&lt;/SPAN&gt;, &lt;BR&gt;&lt;SPAN class=kwrd&gt;ByVal&lt;/SPAN&gt; e &lt;SPAN class=kwrd&gt;As&lt;/SPAN&gt; System.Windows.Controls.ValidationErrorEventArgs)
        &lt;SPAN class=kwrd&gt;If&lt;/SPAN&gt; e.Action = ValidationErrorEventAction.Added &lt;SPAN class=kwrd&gt;Then&lt;/SPAN&gt;
            &lt;SPAN class=kwrd&gt;CType&lt;/SPAN&gt;(e.OriginalSource, TextBox).Background = _&lt;BR&gt;&lt;SPAN class=kwrd&gt;New&lt;/SPAN&gt; SolidColorBrush(Colors.Red)
            ToolTipService.SetToolTip(&lt;SPAN class=kwrd&gt;CType&lt;/SPAN&gt;(e.OriginalSource, TextBox), &lt;BR&gt;e.&lt;SPAN class=kwrd&gt;Error&lt;/SPAN&gt;.Exception.Message)
        &lt;SPAN class=kwrd&gt;Else&lt;/SPAN&gt;
            &lt;SPAN class=kwrd&gt;CType&lt;/SPAN&gt;(e.OriginalSource, TextBox).Background = _&lt;BR&gt;&lt;SPAN class=kwrd&gt;New&lt;/SPAN&gt; SolidColorBrush(Colors.White)
        &lt;SPAN class=kwrd&gt;End&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;If&lt;/SPAN&gt;
    &lt;SPAN class=kwrd&gt;End&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Sub&lt;/SPAN&gt;

    &lt;SPAN class=kwrd&gt;Private&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Sub&lt;/SPAN&gt; Button_Click(&lt;SPAN class=kwrd&gt;ByVal&lt;/SPAN&gt; sender &lt;SPAN class=kwrd&gt;As&lt;/SPAN&gt; System.&lt;SPAN class=kwrd&gt;Object&lt;/SPAN&gt;, &lt;BR&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;Dim&lt;/SPAN&gt; o &lt;SPAN class=kwrd&gt;As&lt;/SPAN&gt; ServiceReference1.Customers = LayoutRoot.DataContext
        cust.UpdateObject(o)
        cust.BeginSaveChanges(&lt;SPAN class=kwrd&gt;AddressOf&lt;/SPAN&gt; saveFertig, o)

    &lt;SPAN class=kwrd&gt;End&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Sub&lt;/SPAN&gt;
    &lt;SPAN class=kwrd&gt;Public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Sub&lt;/SPAN&gt; saveFertig(&lt;SPAN class=kwrd&gt;ByVal&lt;/SPAN&gt; result &lt;SPAN class=kwrd&gt;As&lt;/SPAN&gt; IAsyncResult)
        cust.EndSaveChanges(result)

    &lt;SPAN class=kwrd&gt;End&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Sub&lt;/SPAN&gt;
&lt;SPAN class=kwrd&gt;End&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;Class&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=6750551" width="1" height="1"&gt;</content><author><name>preishuber</name><uri>http://weblogs.asp.net/members/preishuber.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/Silverlight/default.aspx" /></entry><entry><title>Rownumber in Silverlight Datagrid or Listbox</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/hpreishuber/archive/2008/11/18/rownumber-in-silverlight-datagrid-or-listbox.aspx" /><id>http://weblogs.asp.net/hpreishuber/archive/2008/11/18/rownumber-in-silverlight-datagrid-or-listbox.aspx</id><published>2008-11-18T19:42:20Z</published><updated>2008-11-18T19:42:20Z</updated><content type="html">&lt;p&gt;My next sample uses a converter to show a line number within a datalist. I am not really satisfied with the solution, perhaps I will find in future a better way. But the concept is quite interesting and it works.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/hpreishuber/image_28BFCEAC.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/hpreishuber/image_thumb_20C82C4A.png" width="134" height="77" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;First we need a TextBlock to display the row number. The content is controlled by databinding. Unique data (here [daten]) is needed as parameter for later converting.&amp;#160; &lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ListBox&lt;/span&gt; &lt;span class="attr"&gt;x:Name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;lstFields&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;SelectionChanged&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;lstFields_SelectionChanged&amp;quot;&lt;/span&gt;   &lt;br /&gt;&lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;60&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Top&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ListBox.ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;DataTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;StackPanel&lt;/span&gt; &lt;span class="attr"&gt;Orientation&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Horizontal&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;x:Name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;stack1&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
           &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;{Binding daten, &lt;br /&gt;Converter={StaticResource rownumberconverter} }&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

The converter needs to be declared as resource.&lt;/pre&gt;

&lt;pre class="csharpcode"&gt;xmlns:c=&amp;quot;clr-namespace:SilverlightApplication1test&amp;quot;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;UserControl.Resources&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;c:rowNumberConverter&lt;/span&gt; &lt;span class="attr"&gt;x:Key&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;rownumberconverter&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;c:rowNumberConverter&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;UserControl.Resources&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&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;p&gt;The converter is implemented as class which uses a special interface. The trick is to get a reference to the original data. As you can see I get a reference to application.current and cast it to the class, which is named page17. Page17 is the xaml page. There I can find my listbox named lstfields and get all items. The items are from type listboxdaten and have a property [daten]. If you compare the property with the value from the converter you get the index of the datarow.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Class&lt;/span&gt; rowNumberConverter
    &lt;span class="kwrd"&gt;Implements&lt;/span&gt; IValueConverter
    &lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; Convert(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; value &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; targetType &lt;span class="kwrd"&gt;As&lt;/span&gt; System.Type,
 &lt;span class="kwrd"&gt;ByVal&lt;/span&gt; parameter &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; culture &lt;span class="kwrd"&gt;As&lt;/span&gt; System.Globalization.CultureInfo) &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Object&lt;/span&gt; 
&lt;span class="kwrd"&gt;Implements&lt;/span&gt; System.Windows.Data.IValueConverter.Convert
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; mypage &lt;span class="kwrd"&gt;As&lt;/span&gt; page17 = &lt;span class="kwrd"&gt;CType&lt;/span&gt;(&lt;span class="kwrd"&gt;CType&lt;/span&gt;(Application.Current, App).RootVisual, page17)
        &lt;span class="kwrd"&gt;For&lt;/span&gt; i = 0 &lt;span class="kwrd"&gt;To&lt;/span&gt; mypage.lstFields.Items.Count - 1
            &lt;span class="kwrd"&gt;If&lt;/span&gt; &lt;span class="kwrd"&gt;CType&lt;/span&gt;(mypage.lstFields.Items(i), Listboxdaten).daten = value &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                &lt;span class="kwrd"&gt;Return&lt;/span&gt; i + 1
            &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;Next&lt;/span&gt;
        &lt;span class="kwrd"&gt;Return&lt;/span&gt; &lt;span class="str"&gt;&amp;quot;nan&amp;quot;&lt;/span&gt; &lt;span class="rem"&gt;'should never happen&lt;/span&gt;
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;

    &lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; ConvertBack(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; value &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; targetType &lt;span class="kwrd"&gt;As&lt;/span&gt; System.Type, 
&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; parameter &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; culture &lt;span class="kwrd"&gt;As&lt;/span&gt; System.Globalization.CultureInfo) &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Object&lt;/span&gt; 
&lt;span class="kwrd"&gt;Implements&lt;/span&gt; System.Windows.Data.IValueConverter.ConvertBack
        &lt;span class="kwrd"&gt;Throw&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; NotImplementedException()
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
&lt;span class="kwrd"&gt;End&lt;/span&gt; Class&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;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=6745498" width="1" height="1"&gt;</content><author><name>preishuber</name><uri>http://weblogs.asp.net/members/preishuber.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/Silverlight/default.aspx" /></entry><entry><title>get ID inside a Silverlight Datagrid when Button clicked</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/hpreishuber/archive/2008/11/15/get-id-inside-a-silverlight-datagrid-when-button-clicked.aspx" /><id>http://weblogs.asp.net/hpreishuber/archive/2008/11/15/get-id-inside-a-silverlight-datagrid-when-button-clicked.aspx</id><published>2008-11-15T10:22:07Z</published><updated>2008-11-15T10:22:07Z</updated><content type="html">&lt;p&gt;This blog pots describes a datagrid and a encapsulated custom button for each row. I want to show two methods how to get information about the underlaying data of the row.&lt;/p&gt;  &lt;p&gt;I use a ado.net data service and a entity datamodel, which is not part of the article, to get the data. Database is good old northwind and table is customer. When use clicks on button messagebox comes up with some information about the row.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/hpreishuber/image_7D332C46.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/hpreishuber/image_thumb_3EDA3C08.png" width="408" height="395" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;First the xaml code&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;x:Name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;LayoutRoot&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Background&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;White&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;data:DataGrid&lt;/span&gt; &lt;span class="attr"&gt;x:Name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;DataGrid1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;data:DataGrid.Columns&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;data:DataGridTemplateColumn&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;100&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;data:DataGridTemplateColumn.CellTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;DataTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Button&lt;/span&gt; &lt;span class="attr"&gt;Content&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;{Binding CustomerID}&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Click&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Button_Click&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Tag&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;{Binding CustomerID}&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Button&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;DataTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;data:DataGridTemplateColumn.CellTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;data:DataGridTemplateColumn&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;data:DataGrid.Columns&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;data:DataGrid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&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;p&gt;The databinding to the &lt;strong&gt;tag&lt;/strong&gt; attribute is necessary for my first trick&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; Button_Click(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; sender &lt;span class="kwrd"&gt;As&lt;/span&gt; System.&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)
        MessageBox.Show(&lt;span class="kwrd"&gt;CType&lt;/span&gt;(e.OriginalSource, Button).Tag)
&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;Easy or? Do you like it more complex, than following code gives you the select row as number&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; Button_Click(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; sender &lt;span class="kwrd"&gt;As&lt;/span&gt; System.&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;Dim&lt;/span&gt; datenliste &lt;span class="kwrd"&gt;As&lt;/span&gt; List(Of ServiceReference1.Customers)
        datenliste = DataGrid1.ItemsSource &lt;span class="rem"&gt;'automatischer cast&lt;/span&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; datenButton &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Object&lt;/span&gt; = &lt;span class="kwrd"&gt;CType&lt;/span&gt;(e.OriginalSource, Button).DataContext()
        MessageBox.Show(datenliste.IndexOf(datenButton))
&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=6738953" width="1" height="1"&gt;</content><author><name>preishuber</name><uri>http://weblogs.asp.net/members/preishuber.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/Silverlight/default.aspx" /></entry><entry><title>Silverlight Multiselect Listbox</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/hpreishuber/archive/2008/11/07/silverlight-multiselect-listbox.aspx" /><id>http://weblogs.asp.net/hpreishuber/archive/2008/11/07/silverlight-multiselect-listbox.aspx</id><published>2008-11-07T14:44:33Z</published><updated>2008-11-07T14:44:33Z</updated><content type="html">&lt;p&gt;The Listbox control of Silverlight 2 have no multi selection. Datagrid have! I want to show how to build a Listbox with Checkboxes and iterate at the end through all items an see if they are checked. Seams to be easy!?&lt;/p&gt;  &lt;p&gt;But isn't.&amp;#160; You can not access the content of the datatemplate. One solution is to use visualtreehelper to iterate through all controls of controltree. That is quite complkicated cause e.g a checkbox is a composition of Textblock and Rectangle.&lt;/p&gt;  &lt;p&gt;I show the databinding way which is quite cool&lt;/p&gt;  &lt;p&gt;First I have to generate a class where all data is in and a additional field for the checked value.&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;Imports&lt;/span&gt; System.ComponentModel
&lt;span class="kwrd"&gt;Imports&lt;/span&gt; System.Collections.ObjectModel
&lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Class&lt;/span&gt; Listboxdaten
    &lt;span class="kwrd"&gt;Implements&lt;/span&gt; INotifyPropertyChanged
    &lt;span class="kwrd"&gt;Private&lt;/span&gt; _checked &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Boolean&lt;/span&gt;
    &lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Property&lt;/span&gt; checked() &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Boolean&lt;/span&gt;
        &lt;span class="kwrd"&gt;Get&lt;/span&gt;
            &lt;span class="kwrd"&gt;Return&lt;/span&gt; _checked
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Get&lt;/span&gt;
        &lt;span class="kwrd"&gt;Set&lt;/span&gt;(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Boolean&lt;/span&gt;)
            _checked = value
            OnPropertyChanged(&lt;span class="str"&gt;&amp;quot;checked&amp;quot;&lt;/span&gt;)
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Set&lt;/span&gt;
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Property&lt;/span&gt;

    &lt;span class="kwrd"&gt;Private&lt;/span&gt; _daten &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;
    &lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Property&lt;/span&gt; daten() &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;
        &lt;span class="kwrd"&gt;Get&lt;/span&gt;
            &lt;span class="kwrd"&gt;Return&lt;/span&gt; _daten
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Get&lt;/span&gt;
        &lt;span class="kwrd"&gt;Set&lt;/span&gt;(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;)
            _daten = value
            OnPropertyChanged(&lt;span class="str"&gt;&amp;quot;daten&amp;quot;&lt;/span&gt;)
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Set&lt;/span&gt;
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Property&lt;/span&gt;
&lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Event&lt;/span&gt; PropertyChanged(&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.ComponentModel.PropertyChangedEventArgs) &lt;span class="kwrd"&gt;Implements&lt;/span&gt; System.ComponentModel.INotifyPropertyChanged.PropertyChanged
    &lt;span class="kwrd"&gt;Protected&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; OnPropertyChanged(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; name &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;)
        &lt;span class="kwrd"&gt;RaiseEvent&lt;/span&gt; PropertyChanged(&lt;span class="kwrd"&gt;Me&lt;/span&gt;, &lt;span class="kwrd"&gt;New&lt;/span&gt; PropertyChangedEventArgs(name))
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt;
&lt;span class="kwrd"&gt;End&lt;/span&gt; Class&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;I dont like the typing, but that is another story. Now comes the cool part&amp;#160; in XAML. The trick is to do a two way binding.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ListBox&lt;/span&gt; &lt;span class="attr"&gt;x:Name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;lstFields&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;SelectionChanged&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;lstFields_SelectionChanged&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ListBox.ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;DataTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;StackPanel&lt;/span&gt; &lt;span class="attr"&gt;Orientation&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Horizontal&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;x:Name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;stack1&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CheckBox&lt;/span&gt; &lt;span class="attr"&gt;x:Name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;chkFields&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;IsChecked&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;{Binding checked, Mode=TwoWay}&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;CheckBox&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;{Binding daten}&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;StackPanel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
         &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;DataTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ListBox.ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ListBox&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Button&lt;/span&gt; &lt;span class="attr"&gt;x:Name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Button1&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;30&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;20&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Click&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Button1_Click&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Button&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&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;p&gt;A little bit code to fill the data onload&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; page17_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
        lstFields.Items.Add(&lt;span class="kwrd"&gt;New&lt;/span&gt; Listboxdaten &lt;span class="kwrd"&gt;With&lt;/span&gt; {.checked = &lt;span class="kwrd"&gt;True&lt;/span&gt;, .daten = &lt;span class="str"&gt;&amp;quot;eins&amp;quot;&lt;/span&gt;})
        lstFields.Items.Add(&lt;span class="kwrd"&gt;New&lt;/span&gt; Listboxdaten &lt;span class="kwrd"&gt;With&lt;/span&gt; {.checked = &lt;span class="kwrd"&gt;True&lt;/span&gt;, .daten = &lt;span class="str"&gt;&amp;quot;zwei&amp;quot;&lt;/span&gt;})
        lstFields.Items.Add(&lt;span class="kwrd"&gt;New&lt;/span&gt; Listboxdaten &lt;span class="kwrd"&gt;With&lt;/span&gt; {.checked = &lt;span class="kwrd"&gt;True&lt;/span&gt;, .daten = &lt;span class="str"&gt;&amp;quot;drei&amp;quot;&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;p&gt;A little bit more code to get the items an see if it is checked&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; Button1_Click(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; sender &lt;span class="kwrd"&gt;As&lt;/span&gt; System.&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;For&lt;/span&gt; &lt;span class="kwrd"&gt;Each&lt;/span&gt; i &lt;span class="kwrd"&gt;In&lt;/span&gt; lstFields.Items
            &lt;span class="kwrd"&gt;If&lt;/span&gt; &lt;span class="kwrd"&gt;CType&lt;/span&gt;(i, Listboxdaten).checked &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                MessageBox.Show(&lt;span class="str"&gt;&amp;quot;checked&amp;quot;&lt;/span&gt;)
            &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;Next&lt;/span&gt;
&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;Do you like it? Feel free to comment&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6725291" width="1" height="1"&gt;</content><author><name>preishuber</name><uri>http://weblogs.asp.net/members/preishuber.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/Silverlight/default.aspx" /></entry><entry><title>Silverlight and ADO.NET Dataservices RTW changes</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/hpreishuber/archive/2008/10/14/silverlight-and-ado-net-dataservices-rtw-changes.aspx" /><id>http://weblogs.asp.net/hpreishuber/archive/2008/10/14/silverlight-and-ado-net-dataservices-rtw-changes.aspx</id><published>2008-10-14T21:13:38Z</published><updated>2008-10-14T21:13:38Z</updated><content type="html">&lt;p&gt;Till the days of Silverlight RC0 (so yesterday ;-)) we had to generate the proxy class for ado.net dataservice service by hand like:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;dataSvcUtil.exe /out:dsProxy.vb /language:VB /uri:http://localhost:64184/eventsDataService1.svc/&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;Surprisingly the final RTW of silverlight tools for visual studio have the feature to create the proxy by wizard. Everything you have to do, is to select from menu “add service reference” and to press discover button&lt;/p&gt;

&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/hpreishuber/image_590DF502.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/hpreishuber/image_thumb_278E993B.png" width="573" height="232" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;You get in your project a little bit more then before. The logic is in reference.vb and looks exactly the same as with command line tool.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/hpreishuber/image_7E12F1A3.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/hpreishuber/image_thumb_5C36F345.png" width="236" height="125" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A instance of the entity is then created with code like that&lt;/p&gt;

&lt;pre class="csharpcode"&gt; &lt;span class="kwrd"&gt;Dim&lt;/span&gt; srv &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; ServiceReference1.eventsEntities&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;The edmx from the silverlight project is in my case not editable with designer. In the source model, which exists in the website, it works fine.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6681359" width="1" height="1"&gt;</content><author><name>preishuber</name><uri>http://weblogs.asp.net/members/preishuber.aspx</uri></author></entry><entry><title>ADO.NET Dataservices: Fancy Error Part II</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/hpreishuber/archive/2008/10/13/ado-net-dataservices-fancy-error-part-ii.aspx" /><id>http://weblogs.asp.net/hpreishuber/archive/2008/10/13/ado-net-dataservices-fancy-error-part-ii.aspx</id><published>2008-10-13T09:13:55Z</published><updated>2008-10-13T09:13:55Z</updated><content type="html">&lt;p&gt;Today my first Silverlight 2 application goes live. It is a customer feedback app for the ADC 08 conference. After successfully installed and tested a few hours everything went well. But then data was not show. on direct call of ado.net dataservice vcs in browser following error comes up&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: &amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;; color: black; font-size: 12pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-ansi-language: de; mso-fareast-language: de; mso-bidi-language: ar-sa"&gt;&lt;em&gt;Die Datei oder Assembly App_Web_znszzsfo, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;The rest of the asp.net site works well.&lt;/p&gt;  &lt;p&gt;As I was used to from &lt;a href="http://weblogs.asp.net/hpreishuber/archive/2008/10/10/ado-net-dataservices-this-collection-already-contains-an-address-with-scheme-http.aspx"&gt;earlier experience&lt;/a&gt;&amp;#160;&amp;#160; with ADO.NET dataservices on IIS 6 the error message is not what it seams. I tryed restart of IIS, delete temp ASP.NET compiled files of website. Nothing helped. &lt;/p&gt;  &lt;p&gt;The original reason was a change of the server ip address by admin. Workaround was to delete temp files from root folder.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6677183" width="1" height="1"&gt;</content><author><name>preishuber</name><uri>http://weblogs.asp.net/members/preishuber.aspx</uri></author><category term="ASP.NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/ASP.NET/default.aspx" /><category term=".NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx" /></entry><entry><title>ADO.NET Dataservices:This collection already contains an address with scheme http</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/hpreishuber/archive/2008/10/10/ado-net-dataservices-this-collection-already-contains-an-address-with-scheme-http.aspx" /><id>http://weblogs.asp.net/hpreishuber/archive/2008/10/10/ado-net-dataservices-this-collection-already-contains-an-address-with-scheme-http.aspx</id><published>2008-10-10T17:52:44Z</published><updated>2008-10-10T17:52:44Z</updated><content type="html">&lt;p&gt;I have deployed a Silverlight 2 application which uses ADO.NET Dataservices to a IIS 6. &lt;/p&gt;  &lt;p&gt;Problem #1: you see nothing in Browser&lt;/p&gt;  &lt;p&gt;register MIME Type in IIS and restart IIS &lt;/p&gt;  &lt;p&gt;Problem #2: no data is sown in Silverlight &lt;/p&gt;  &lt;p&gt;In my case it was a 2nd hostheader entry in the Web site. Remove the 2nd hostheader, restart the service and call the ADO.NET Dataservice (svc) directly in Browser&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6669557" width="1" height="1"&gt;</content><author><name>preishuber</name><uri>http://weblogs.asp.net/members/preishuber.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/Silverlight/default.aspx" /></entry><entry><title>I Love VB: Silverlight UI Creation with XML Literals</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/hpreishuber/archive/2008/09/05/i-love-vb-silverlight-ui-creation-with-xml-literals.aspx" /><id>http://weblogs.asp.net/hpreishuber/archive/2008/09/05/i-love-vb-silverlight-ui-creation-with-xml-literals.aspx</id><published>2008-09-05T06:25:17Z</published><updated>2008-09-05T06:25:17Z</updated><content type="html">&lt;p&gt;My actual problem is to develop a image (object) carousel. There are a lot of details to take care about. One of them is to create images dynamically with a great UI like border or shadow. First I startet up to write code like:&lt;/p&gt;  &lt;pre class="csharpcode"&gt; &lt;span class="kwrd"&gt;Dim&lt;/span&gt; brd &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; Border
 brd.Height = 130 &lt;span class="rem"&gt;'Bildhöhe+ 30 für text&lt;/span&gt;
 brd.Background = &lt;span class="kwrd"&gt;New&lt;/span&gt; SolidColorBrush(Colors.LightGray)
 brd.CornerRadius = &lt;span class="kwrd"&gt;New&lt;/span&gt; CornerRadius(3)
 brd.BorderThickness = &lt;span class="kwrd"&gt;New&lt;/span&gt; Thickness(3)
 &lt;span class="kwrd"&gt;Dim&lt;/span&gt; grdcoll &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; GradientStopCollection()
 &lt;span class="kwrd"&gt;Dim&lt;/span&gt; grdstop &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; GradientStop
 grdstop.Offset = 0
 grdstop.Color = Colors.LightGray
  grdcoll.Add(grdstop)&lt;/pre&gt;

&lt;p&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;To create a good UI by code is really a pain. It is much easier to draw with Expression Blend. VB 2008 have a feature called XML literals and XAML is XML. So I copy the xaml code direct to Visual Studio like&lt;/p&gt;

&lt;pre class="csharpcode"&gt;   &lt;span class="kwrd"&gt;Dim&lt;/span&gt; ui = &amp;lt;Border xmlns=&lt;span class="str"&gt;&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;&lt;/span&gt;
                         Height=&lt;span class="str"&gt;&amp;quot;130&amp;quot;&lt;/span&gt; CornerRadius=&lt;span class="str"&gt;&amp;quot;3,3,3,3&amp;quot;&lt;/span&gt;
                         BorderThickness=&lt;span class="str"&gt;&amp;quot;0,0,0,3&amp;quot;&lt;/span&gt;&amp;gt;
                         &amp;lt;Border.BorderBrush&amp;gt;
                             &amp;lt;RadialGradientBrush&amp;gt;
                                 &amp;lt;RadialGradientBrush.RelativeTransform&amp;gt;
                                     &amp;lt;TransformGroup&amp;gt;
                                         &amp;lt;ScaleTransform CenterX=&lt;span class="str"&gt;&amp;quot;0.5&amp;quot;&lt;/span&gt; CenterY=&lt;span class="str"&gt;&amp;quot;0.5&amp;quot;&lt;/span&gt; ScaleY=&lt;span class="str"&gt;&amp;quot;0.129&amp;quot;&lt;/span&gt;/&amp;gt;
                                         &amp;lt;SkewTransform CenterX=&lt;span class="str"&gt;&amp;quot;0.5&amp;quot;&lt;/span&gt; CenterY=&lt;span class="str"&gt;&amp;quot;0.5&amp;quot;&lt;/span&gt;/&amp;gt;
                                         &amp;lt;RotateTransform CenterX=&lt;span class="str"&gt;&amp;quot;0.5&amp;quot;&lt;/span&gt; CenterY=&lt;span class="str"&gt;&amp;quot;0.5&amp;quot;&lt;/span&gt;/&amp;gt;
                                         &amp;lt;TranslateTransform X=&lt;span class="str"&gt;&amp;quot;0&amp;quot;&lt;/span&gt; Y=&lt;span class="str"&gt;&amp;quot;0.476&amp;quot;&lt;/span&gt;/&amp;gt;
                                     &amp;lt;/TransformGroup&amp;gt;
                                 &amp;lt;/RadialGradientBrush.RelativeTransform&amp;gt;
                                 &amp;lt;GradientStop Color=&lt;span class="str"&gt;&amp;quot;#FF706F6F&amp;quot;&lt;/span&gt;/&amp;gt;
                                 &amp;lt;GradientStop Color=&lt;span class="str"&gt;&amp;quot;#FFF7F2F2&amp;quot;&lt;/span&gt; Offset=&lt;span class="str"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;/&amp;gt;
                             &amp;lt;/RadialGradientBrush&amp;gt;
                         &amp;lt;/Border.BorderBrush&amp;gt;
                         &amp;lt;Canvas&amp;gt;
                             &amp;lt;Image Source=&amp;lt;%= &lt;span class="str"&gt;&amp;quot;/images/&amp;quot;&lt;/span&gt; + dateien(i) %&amp;gt;
                                 Width=&lt;span class="str"&gt;&amp;quot;100&amp;quot;&lt;/span&gt; Height=&lt;span class="str"&gt;&amp;quot;100&amp;quot;&lt;/span&gt;
                                 VerticalAlignment=&lt;span class="str"&gt;&amp;quot;Top&amp;quot;&lt;/span&gt;/&amp;gt;
                             &amp;lt;TextBlock Canvas.Left=&lt;span class="str"&gt;&amp;quot;0&amp;quot;&lt;/span&gt; TextAlignment=&lt;span class="str"&gt;&amp;quot;Center&amp;quot;&lt;/span&gt;
                                 Canvas.Top=&lt;span class="str"&gt;&amp;quot;100&amp;quot;&lt;/span&gt; VerticalAlignment=&lt;span class="str"&gt;&amp;quot;Center&amp;quot;&lt;/span&gt;
                                 Width=&lt;span class="str"&gt;&amp;quot;100&amp;quot;&lt;/span&gt;
                                 &amp;gt;
                                 &amp;lt;%= Replace(dateien(i), &lt;span class="str"&gt;&amp;quot;.jpg&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;&amp;quot;&lt;/span&gt;) %&amp;gt;
                             &amp;lt;/TextBlock&amp;gt;
                         &amp;lt;/Canvas&amp;gt;
                     &amp;lt;/Border&amp;gt;

            &lt;span class="kwrd"&gt;Dim&lt;/span&gt; xaml1 = XamlReader.Load(ui.ToString)
            &lt;span class="kwrd"&gt;Me&lt;/span&gt;.Children.Add(&lt;span class="kwrd"&gt;CType&lt;/span&gt;(xaml1, UIElement))&lt;/pre&gt;

&lt;p&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;As you can see there is also the posibility to set attributes with expressions (like in asp.net) which I have used for image path. Then you can create from xaml fragment a control and add it to a node of the xaml hierarchy.&lt;/p&gt;

&lt;p&gt;Great – I love that way.&lt;/p&gt;

&lt;p&gt;The actual result shows the speakers of the &lt;a href="http://www.adc08.de"&gt;ADC conference&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/ILoveVBSilverlightUICreationwithXMLLiter_7395/image_2.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/hpreishuber/WindowsLiveWriter/ILoveVBSilverlightUICreationwithXMLLiter_7395/image_thumb.png" width="244" height="100" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6601583" width="1" height="1"&gt;</content><author><name>preishuber</name><uri>http://weblogs.asp.net/members/preishuber.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx" /><category term="VB.NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/VB.NET/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/Silverlight/default.aspx" /></entry><entry><title>Silverlight 2.0 plugin ID or not ID</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/hpreishuber/archive/2008/08/24/silverlight-2-0-plugin-id-or-not-id.aspx" /><id>http://weblogs.asp.net/hpreishuber/archive/2008/08/24/silverlight-2-0-plugin-id-or-not-id.aspx</id><published>2008-08-24T06:05:26Z</published><updated>2008-08-24T06:05:26Z</updated><content type="html">&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;</content><author><name>preishuber</name><uri>http://weblogs.asp.net/members/preishuber.aspx</uri></author><category term="ASP.NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/ASP.NET/default.aspx" /><category term=".NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/Silverlight/default.aspx" /></entry><entry><title>Bind with Expression Blend: cannot create Instance Exception</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/hpreishuber/archive/2008/08/11/bind-with-expression-blend-cannot-create-instance-exception.aspx" /><id>http://weblogs.asp.net/hpreishuber/archive/2008/08/11/bind-with-expression-blend-cannot-create-instance-exception.aspx</id><published>2008-08-11T05:40:29Z</published><updated>2008-08-11T05:40:29Z</updated><content type="html">&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;</content><author><name>preishuber</name><uri>http://weblogs.asp.net/members/preishuber.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/Silverlight/default.aspx" /><category term="Blend" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/Blend/default.aspx" /></entry><entry><title>set as start page: Silverlight XAML</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/hpreishuber/archive/2008/07/31/set-as-start-page-silverlight-xaml.aspx" /><id>http://weblogs.asp.net/hpreishuber/archive/2008/07/31/set-as-start-page-silverlight-xaml.aspx</id><published>2008-07-31T08:54:17Z</published><updated>2008-07-31T08:54:17Z</updated><content type="html">&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;</content><author><name>preishuber</name><uri>http://weblogs.asp.net/members/preishuber.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/Silverlight/default.aspx" /></entry><entry><title>fast and furios Silverlight Databinding with Gridview and embedded XML Data Resources</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/hpreishuber/archive/2008/07/29/fast-and-furios-silverlight-databinding-with-gridview-and-embedded-xml-data-resources.aspx" /><id>http://weblogs.asp.net/hpreishuber/archive/2008/07/29/fast-and-furios-silverlight-databinding-with-gridview-and-embedded-xml-data-resources.aspx</id><published>2008-07-29T18:32:00Z</published><updated>2008-07-29T18:32:00Z</updated><content type="html">&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;</content><author><name>preishuber</name><uri>http://weblogs.asp.net/members/preishuber.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/.NET/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/hpreishuber/archive/tags/Silverlight/default.aspx" /></entry></feed>