<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.silverlight.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Silverlight Controls and Silverlight Toolkit</title><link>http://forums.silverlight.net/forums/35.aspx</link><description>Discussions around using and developing Silverlight controls and the Silverlight Toolkit</description><dc:language>en</dc:language><generator>CommunityServer 2007 (Build: 20416.853)</generator><item><title>Re: Re: sorting silverlight datagrid</title><link>http://forums.silverlight.net/forums/thread/240952.aspx</link><pubDate>Thu, 02 Jul 2009 18:28:45 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:240952</guid><dc:creator>yifung</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/240952.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=35&amp;PostID=240952</wfw:commentRss><description>&lt;p&gt;CollectionView sorting doesn&amp;#39;t work on primitives types.&amp;nbsp; This is true in WPF as well.&amp;nbsp; You&amp;#39;ll need to wrap your string in a object with a public string property&lt;/p&gt;</description></item><item><title>Re: Re: sorting silverlight datagrid</title><link>http://forums.silverlight.net/forums/thread/240595.aspx</link><pubDate>Thu, 02 Jul 2009 06:07:20 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:240595</guid><dc:creator>avtar</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/240595.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=35&amp;PostID=240595</wfw:commentRss><description>&lt;p&gt;Hi Gunjan, &lt;br /&gt;&lt;/p&gt;&lt;p&gt;How do I programatically sort a silverlight datagrid?&amp;nbsp; &lt;/p&gt;&lt;p&gt;My datagrid&amp;#39;s
item source is an List&amp;lt;String&amp;gt; collection.&lt;/p&gt;&lt;p&gt;I am using Silverlight 3. &lt;/p&gt;&lt;p&gt;I cann&amp;#39;t use&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dg.SortDescriptions.Add(new SortDescription(&amp;quot;myProperty&amp;quot;, ListSortDirection.Ascending)); &lt;/p&gt;&lt;p&gt;Because i don&amp;#39;t have property, I have List&amp;lt;string&amp;gt;. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;When user click on the column of datagrid following unhandled error pop up.&lt;/p&gt;&lt;p&gt;An unhandled exception (&amp;#39;Unhandled Error in silverlight Applicaiton SortDescription&amp;#39;s property name &amp;#39;COL - Asset&amp;#39; is invalid.&lt;br /&gt;at system.window.page.pagedCollectionView.RefreshOverrid()&lt;br /&gt;at System.Window.Data.PagedCollectionView.RefreshInternal()&lt;br /&gt;at System.Window.Data.PagedCollectionView.RefreshOnDefer(); &lt;/p&gt;&lt;p&gt;&amp;nbsp;Thanks lot. &lt;br /&gt;&lt;/p&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;</description></item><item><title>Re: Re: Re: sorting silverlight datagrid</title><link>http://forums.silverlight.net/forums/thread/237583.aspx</link><pubDate>Thu, 25 Jun 2009 04:23:43 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:237583</guid><dc:creator>SLMonster</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/237583.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=35&amp;PostID=237583</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;I have recently implemented custom sorting in my datagrid. How is explained below.&lt;br /&gt;Step 1 Create styles fro HEader sortedUp, Sorted Down, and Unsorted as below&lt;br /&gt;&lt;font color="#a31515" size="2"&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Style&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt; TargetType&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;prim:DataGridColumnHeader&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt; x&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;Key&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;DataGridLinkColumnHeaderUnsorted&amp;quot; &amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Setter&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt; Property&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;HorizontalContentAlignment&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt; Value&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Center&amp;quot; /&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Setter&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt; Property&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;ContentTemplate&amp;quot;&amp;gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Setter.Value&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;DataTemplate&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;StackPanel&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt; Orientation&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Horizontal&amp;quot; &amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;HyperlinkButton&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;Content&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;{&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Binding&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;}&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt; Tag&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;{&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Binding&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;}&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;Click&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Header_Click&amp;quot; &amp;gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;HyperlinkButton&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;StackPanel&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;DataTemplate&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Setter.Value&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Setter&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Style&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Style&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt; TargetType&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;prim:DataGridColumnHeader&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt; x&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;Key&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;DataGridLinkColumnHeaderUp&amp;quot; &amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Setter&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt; Property&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;HorizontalContentAlignment&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt; Value&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Center&amp;quot; /&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Setter&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt; Property&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;ContentTemplate&amp;quot;&amp;gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Setter.Value&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;DataTemplate&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;StackPanel&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt; HorizontalAlignment&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Center&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt; Width&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;{&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Binding&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;}&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt; Orientation&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Horizontal&amp;quot; &amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;HyperlinkButton&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;Content&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;{&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Binding&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;}&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt; Tag&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;{&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Binding&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;}&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;Click&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Header_Click&amp;quot; &amp;gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;HyperlinkButton&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;TextBlock&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt; VerticalAlignment&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Center&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;FontFamily&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Webdings&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt; Text&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot; 5&amp;quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;StackPanel&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;DataTemplate&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Setter.Value&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Setter&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Style&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#000000"&gt;Step 2 : define grid with CanUserSortColumns=false. and do not create columns as we are programmaticaly creating them&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#000000"&gt;Setp3 : In code behind, Define below properties&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;
&lt;p&gt;public&lt;/font&gt;&lt;font color="#000000" size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font color="#000000" size="2"&gt; CurrentSortColumn { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;get&lt;/font&gt;&lt;font color="#000000" size="2"&gt;; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;set&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;; }&lt;br /&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;SortDirection&lt;/font&gt;&lt;font size="2"&gt; CurrentSortDirection { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;get&lt;/font&gt;&lt;font size="2"&gt;; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;set&lt;/font&gt;&lt;font size="2"&gt;; }&lt;br /&gt;&lt;br /&gt;Step3: write method to populate the datagrid as below&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;&lt;font size="2"&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;font size="2"&gt; _PopulateGrid()&lt;/font&gt;&lt;font size="2"&gt;{&lt;br /&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; myDataGrid.ItemsSource = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;null&lt;/font&gt;&lt;font size="2"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; myDataGrid.Columns.Clear();&lt;br /&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;//Create Col1&lt;br /&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;DataGridTextColumn&lt;/font&gt;&lt;font size="2"&gt; configNameColumn = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;DataGridTextColumn&lt;/font&gt;&lt;font size="2"&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; configNameColumn.Binding = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;Binding&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;Col1&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; configNameColumn.Header = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;Col1&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; configNameColumn.Width = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;DataGridLength&lt;/font&gt;&lt;font size="2"&gt;(500);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; configNameColumn.ElementStyle = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;Style&lt;/font&gt;&lt;font size="2"&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; configNameColumn.ElementStyle.TargetType = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;typeof&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;TextBlock&lt;/font&gt;&lt;font size="2"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; configNameColumn.ElementStyle.Setters.Add(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;Setter&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;TextBlock&lt;/font&gt;&lt;font size="2"&gt;.TextWrappingProperty, &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;TextWrapping&lt;/font&gt;&lt;font size="2"&gt;.Wrap));&lt;br /&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetSortColumnStyle(configNameColumn);&lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; myDataGrid.Columns.Add(configNameColumn);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#008000"&gt;//Create other columns and add to grid&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;br /&gt;&lt;font color="#008000" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Sort my datalist on current sorted column and current direction and bing set as source to my grid&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyDataList.Sort(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;SubmittedReportComparer&lt;/font&gt;&lt;font size="2"&gt;(CurrentSortDirection, CurrentSortColumn));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; myDataGrid.ItemsSource = SubmittedReportsList;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Step4 : SetSortStyleMethod&lt;br /&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;font size="2"&gt; SetSortColumnStyle(&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;DataGridColumn&lt;/font&gt;&lt;font size="2"&gt; dataGridColumn)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;font size="2"&gt; (CurrentSortColumn == dataGridColumn.Header.ToString())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;{&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;if&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.CurrentSortDirection == &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;SortDirection&lt;/font&gt;&lt;font size="2"&gt;.Ascending)&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataGridColumn.HeaderStyle = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.Resources[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;DataGridLinkColumnHeaderUp&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;] &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;as&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;Style&lt;/font&gt;&lt;font size="2"&gt;;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;else&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataGridColumn.HeaderStyle = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.Resources[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;DataGridLinkColumnHeaderDown&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;] &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;as&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;Style;&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;else&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;//Unsorted&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataGridColumn.HeaderStyle = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.Resources[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;DataGridLinkColumnHeaderUnsorted&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;] &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;as&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;Style&lt;/font&gt;&lt;font size="2"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;&lt;/font&gt;
&lt;p&gt;Step 5 HEader click event handler to change the sort direction&lt;br /&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;font size="2"&gt; Header_Click(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;object&lt;/font&gt;&lt;font size="2"&gt; sender, &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;RoutedEventArgs&lt;/font&gt;&lt;font size="2"&gt; e){&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var&lt;/font&gt;&lt;font size="2"&gt; link = sender &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;as&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;HyperlinkButton&lt;/font&gt;&lt;font size="2"&gt;;&lt;br /&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if&lt;/font&gt;&lt;font size="2"&gt; (link.Tag.ToString() == CurrentSortColumn){&lt;br /&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;ChangeCurentSortDirection();}&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;{&lt;br /&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;CurrentSortColumn = link.Tag.ToString();&lt;br /&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;CurrentSortDirection = &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;SortDirection&lt;/font&gt;&lt;font size="2"&gt;.Ascending;&lt;br /&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;PopulateGrid();&lt;br /&gt;}&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;font size="2"&gt; ChangeCurentSortDirection()&lt;br /&gt;{&lt;/font&gt;&lt;font color="#008000" size="2"&gt;//changeDirection&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if&lt;/font&gt;&lt;font size="2"&gt; (CurrentSortDirection == &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;SortDirection&lt;/font&gt;&lt;font size="2"&gt;.Ascending)&lt;br /&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;CurrentSortDirection = &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;SortDirection&lt;/font&gt;&lt;font size="2"&gt;.Descending;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;CurrentSortDirection = &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;SortDirection&lt;/font&gt;&lt;font size="2"&gt;.Ascending;&lt;br /&gt;}&lt;/p&gt;&lt;/font&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;hope this helps&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;</description></item><item><title>Re: Re: sorting silverlight datagrid</title><link>http://forums.silverlight.net/forums/thread/237510.aspx</link><pubDate>Wed, 24 Jun 2009 22:59:12 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:237510</guid><dc:creator>yifung</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/237510.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=35&amp;PostID=237510</wfw:commentRss><description>&lt;p&gt;Unfortunately, there isn&amp;#39;t an easy way to do this in Silverlight 2.&amp;nbsp; To get everything integrated with the sort glyphs, you&amp;#39;d bascially have to implement your one ICollectionView which I don&amp;#39;t recommend.&amp;nbsp; You could potentially take the public sources and rip out the CollectionView that the DataGrid uses.&amp;nbsp; If you do that, I&amp;#39;d recommend replacing that as soon as a public CollectionView is introduced in Silverlight 3 so you get any updates and bug fixes.&lt;/p&gt;</description></item><item><title>Re: Re: sorting silverlight datagrid</title><link>http://forums.silverlight.net/forums/thread/236989.aspx</link><pubDate>Tue, 23 Jun 2009 22:46:08 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:236989</guid><dc:creator>Nikotromus</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/236989.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=35&amp;PostID=236989</wfw:commentRss><description>&lt;p&gt;Nuts.&amp;nbsp; I&amp;#39;m using silverlight 2.&lt;/p&gt;</description></item><item><title>Re: sorting silverlight datagrid</title><link>http://forums.silverlight.net/forums/thread/236988.aspx</link><pubDate>Tue, 23 Jun 2009 22:38:34 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:236988</guid><dc:creator>gunjanshah21</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/236988.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=35&amp;PostID=236988</wfw:commentRss><description>&lt;p&gt;If you use Silverlight 3 Beta, you could use SortDescriptions property on DataGrid to do this:&lt;/p&gt;
&lt;p&gt;&lt;span class="kwd"&gt;using&lt;/span&gt; System.ComponentModel;&lt;br /&gt;&lt;br /&gt;dataGrid.SortDescriptions.Add(&lt;span class="kwd"&gt;new&lt;/span&gt; SortDescription(&lt;span class="st"&gt;&amp;quot;myProperty&amp;quot;&lt;/span&gt;, ListSortDirection.Descending)); 
&lt;p&gt;You can have multiple SortDescriptions and DataGrid will sort the columns in the order in which they appear in the SortDescription collection.&lt;/p&gt;
&lt;p&gt;Gunjan [MSFT]&lt;/p&gt;</description></item><item><title>sorting silverlight datagrid</title><link>http://forums.silverlight.net/forums/thread/236981.aspx</link><pubDate>Tue, 23 Jun 2009 21:58:41 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:236981</guid><dc:creator>Nikotromus</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/236981.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=35&amp;PostID=236981</wfw:commentRss><description>&lt;p&gt;How do I programatically sort a silverlight datagrid?&amp;nbsp; My datagrid&amp;#39;s item source is an observable collection.&amp;nbsp;I would like to&amp;nbsp;default my sort by the 5th field in the datagrid, and then be able to programatically sort based off of events.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Thanks in advance&amp;nbsp;&amp;nbsp;&lt;/p&gt;</description></item></channel></rss>