<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://xceed.com/CS/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>Xceed DataGrid for WPF</title><link>http://xceed.com/CS/forums/79/ShowForum.aspx</link><description>Questions and Answers Relating to Xceed DataGrid for WPF</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Debug Build: 61120.2)</generator><item><title>Extending the ContainsFilterCriterion</title><link>http://xceed.com/CS/forums/thread/30929.aspx</link><pubDate>Thu, 25 Aug 2011 19:01:03 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:30929</guid><dc:creator>Marc [Xceed]</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/30929.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=30929</wfw:commentRss><description>&lt;p&gt;If you have a Column that is bound to a Business Object, and then you wish to display a property of that Object and want to filter the data on another property of that object, you might want to create your own custom object criterion. I have created a sample class that you can use in case you wish to filter on a string property of that object. We will extend the ContainsFilterCriterion since we are supplying the FilterCriterion with a string and looking for instances of that string in other string values. &lt;/p&gt;&lt;p&gt;We will then override the IsMatch(object value) method where we can choose which property of that object we wish to filter on. In this sample, we wish to search for instance of searchedValue in the ChildProperty property of the object of type Child. &lt;br&gt;&lt;/p&gt;&lt;p&gt;C#&lt;/p&gt;&lt;p&gt;-------&lt;br&gt;public class CustomObjectCriterion : ContainsFilterCriterion&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public CustomObjectCriterion()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : base()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public CustomObjectCriterion(object value)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : base(value)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public override bool IsMatch(object value)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (value == null)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this.Value == null)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string searchedValue = this.Value.ToString().ToLower();&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (searchedValue.Length == 0)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string strValue = value.ToString().ToLower();&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (value as Child).ChildProperty.Contains(searchedValue);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;/p&gt;&lt;p&gt;-------&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Visual Basic.NET&lt;/p&gt;&lt;p&gt;-------&lt;/p&gt;&lt;p&gt;Public Class CustomObjectCriterion&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inherits ContainsFilterCriterion&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Sub New()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; MyBase.New()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Sub New(value As Object)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; MyBase.New(value)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Overrides Function IsMatch(value As Object) As Boolean&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; If value Is Nothing Then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Return False&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; If Me.Value Is Nothing Then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Return True&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Dim searchedValue As String = Me.Value.ToString().ToLower()&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; If searchedValue.Length = 0 Then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Return True&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strValue As String = value.ToString().ToLower()&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Return TryCast(value, Child).ChildProperty.Contains(searchedValue)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Function&lt;br&gt;End Class &lt;br&gt;&lt;/p&gt;&lt;p&gt;-------&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Emulate ASync call on QueryItemCount</title><link>http://xceed.com/CS/forums/thread/30925.aspx</link><pubDate>Thu, 25 Aug 2011 18:49:47 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:30925</guid><dc:creator>Marc [Xceed]</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/30925.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=30925</wfw:commentRss><description>&lt;p&gt;In order to emulate an asynchronous call on the QueryItemCount event, you can do the following. When the Count is first called, we return 0 and also launch a count 
calculation on another thread.&amp;nbsp; When that thread complete we "Refresh" 
the collection view that will then ask the count again and we then 
return the calculated value.&amp;nbsp; On the following query count, the same 
thing will repeat again.&lt;/p&gt;&lt;p&gt;C#&lt;br&gt;
---------------&lt;br&gt;
void cv_QueryItemCount( object sender, QueryItemCountEventArgs e )&lt;br&gt;
&amp;nbsp; &amp;nbsp; {&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; if( ( m_outOfSyncCount != -1 ) &amp;amp;&amp;amp; ( m_outOfSyncCountInProgress ) )&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; m_outOfSyncCountInProgress = false;&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; e.Count = m_outOfSyncCount;&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return;&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; if( !m_outOfSyncCountInProgress )&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; m_outOfSyncCountInProgress = true;&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; m_outOfSyncCount = -1;&lt;br&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Launch count calculation on another thread that will at the end set&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // m_outOfSyncCount and also call a m_cv.Refresh() on the UI thread.&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; e.Count = 0;&lt;br&gt;
&amp;nbsp; &amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; private DataGridVirtualizingCollectionView m_cv;&lt;br&gt;
&amp;nbsp; &amp;nbsp; private bool m_outOfSyncCountInProgress;&lt;br&gt;
&amp;nbsp; &amp;nbsp; private int m_outOfSyncCount;&lt;br&gt;
---------------&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Visual Basic.NET&lt;/p&gt;&lt;p&gt;---------------&lt;/p&gt;&lt;p&gt;Private Sub cv_QueryItemCount(sender As Object, e As QueryItemCountEventArgs)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (m_outOfSyncCount &amp;lt;&amp;gt; -1) AndAlso (m_outOfSyncCountInProgress) Then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m_outOfSyncCountInProgress = False&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; e.Count = m_outOfSyncCount&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Return&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Not m_outOfSyncCountInProgress Then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m_outOfSyncCountInProgress = True&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ' Launch count calculation on another thread that will at the end set&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ' m_outOfSyncCount and also call a m_cv.Refresh() on the UI thread.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m_outOfSyncCount = -1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.Count = 0&lt;br&gt;End Sub&lt;br&gt;&lt;br&gt;Private m_cv As DataGridVirtualizingCollectionView&lt;br&gt;Private m_outOfSyncCountInProgress As Boolean&lt;br&gt;Private m_outOfSyncCount As Integer &lt;br&gt;&lt;/p&gt;&lt;p&gt;--------------- &lt;br&gt;&lt;/p&gt;&lt;p&gt;*Please NOTE: the code sample was written in C# originally and was translated to Visual Basic .NET using a Converter. &lt;br&gt;&lt;/p&gt;</description></item><item><title>Using an ObservableCollection with the DataGridVirtualizingCollectionViewSource</title><link>http://xceed.com/CS/forums/thread/30924.aspx</link><pubDate>Thu, 25 Aug 2011 18:43:24 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:30924</guid><dc:creator>Marc [Xceed]</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/30924.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=30924</wfw:commentRss><description>&lt;p&gt;I have prepared a sample that shows you how to hook up your ObservableCollection to your DataGridVirtualizingCollectionViewSource. This is as basic as it gets, but the main difference between the BindingList&amp;lt;T&amp;gt; and an ObservableCollection is that you will need to use the Skip() and Take() methods to get the range of values and copy them to the Object array. Please see the following:&lt;br&gt;&lt;/p&gt;&lt;p&gt;C# &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;span id="BugEvents"&gt;---------&lt;br&gt;
public partial class MainWindow : Window&lt;br&gt;
{&lt;br&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; ObservableCollection&amp;lt;DataObject&amp;gt; data = new &lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  ObservableCollection&amp;lt;DataObject&amp;gt;();&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br&gt;
&amp;nbsp; &amp;nbsp; public MainWindow()&lt;br&gt;
&amp;nbsp; &amp;nbsp; {&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;  InitializeComponent();&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;  data.Add(new DataObject() { Name = "A", Value = 2 });&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;  data.Add(new DataObject() { Name = "R", Value = 1 });&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;  data.Add(new DataObject() { Name = "Q", Value = 5 });&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;  data.Add(new DataObject() { Name = "S", Value = 2 });&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;  data.Add(new DataObject() { Name = "M", Value = 2 });&lt;br&gt;
&amp;nbsp; &amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; private void 
DataGridVirtualizingCollectionViewSource_QueryItemCount(object sender, 
Xceed.Wpf.DataGrid.QueryItemCountEventArgs e)&lt;br&gt;
&amp;nbsp; &amp;nbsp; {&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;  e.Count = data.Count;&lt;br&gt;
&amp;nbsp; &amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; private void DataGridVirtualizingCollectionViewSource_QueryItems(object sender, Xceed.Wpf.DataGrid.QueryItemsEventArgs e)&lt;br&gt;
&amp;nbsp; &amp;nbsp; {&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;  ObservableCollection&amp;lt;DataObject&amp;gt; tempData = new ObservableCollection&amp;lt;DataObject&amp;gt;(data);&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;  DataObject[] dataArray = tempData.Skip(e.AsyncQueryInfo.StartIndex).Take(e.AsyncQueryInfo.RequestedItemCount).ToArray();&lt;br&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;  e.AsyncQueryInfo.EndQuery(dataArray);&lt;br&gt;
&amp;nbsp; &amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; private ObservableCollection&amp;lt;DataObject&amp;gt; GetData(DataGridVirtualizingCollectionView dgvcv)&lt;br&gt;
&amp;nbsp; &amp;nbsp; {&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;  return new ObservableCollection&amp;lt;DataObject&amp;gt;(data);&lt;br&gt;
&amp;nbsp; &amp;nbsp; }&lt;br&gt;
}&lt;br&gt;
---------&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Visual Basic.NET&lt;/p&gt;&lt;p&gt;---------&lt;/p&gt;&lt;p&gt;Public Partial Class MainWindow&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inherits Window&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private data As New ObservableCollection(Of DataObject)()&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Sub New()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; data.Add(New DataObject() With { _&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Key .Name = "A", _&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Key .Value = 2 _&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; })&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; data.Add(New DataObject() With { _&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Key .Name = "R", _&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Key .Value = 1 _&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; })&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; data.Add(New DataObject() With { _&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Key .Name = "Q", _&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Key .Value = 5 _&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; })&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; data.Add(New DataObject() With { _&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Key .Name = "S", _&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Key .Value = 2 _&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; })&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; data.Add(New DataObject() With { _&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Key .Name = "M", _&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Key .Value = 2 _&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; })&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub DataGridVirtualizingCollectionViewSource_QueryItemCount(sender As Object, e As Xceed.Wpf.DataGrid.QueryItemCountEventArgs)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; e.Count = data.Count&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub DataGridVirtualizingCollectionViewSource_QueryItems(sender As Object, e As Xceed.Wpf.DataGrid.QueryItemsEventArgs)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Dim tempData As New ObservableCollection(Of DataObject)(data)&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Dim dataArray As DataObject() = tempData.Skip(e.AsyncQueryInfo.StartIndex).Take(e.AsyncQueryInfo.RequestedItemCount).ToArray()&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; e.AsyncQueryInfo.EndQuery(dataArray)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Function GetData(dgvcv As DataGridVirtualizingCollectionView) As ObservableCollection(Of DataObject)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Return New ObservableCollection(Of DataObject)(data)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Function&lt;br&gt;End Class &lt;br&gt;&lt;/p&gt;&lt;p&gt;--------- &lt;br&gt;&lt;/p&gt;</description></item><item><title>Fatal Execution Engine Error</title><link>http://xceed.com/CS/forums/thread/28208.aspx</link><pubDate>Thu, 25 Feb 2010 12:48:44 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28208</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28208.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28208</wfw:commentRss><description>&lt;p&gt;In some cases attempting to edit&amp;nbsp;the XAML files in the Blueprint Edition causes&amp;nbsp;Visual Studio 2008 to crash with the following event log:&lt;/p&gt;
&lt;p&gt;.NET Runtime version 2.0.50727.3053 - Fatal Execution Engine Error (7A035E00) (80131506)&lt;/p&gt;
&lt;p&gt;The following hotfix should resolve the issue, which is related to the WPF designer:&lt;/p&gt;
&lt;p&gt;https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=16827&amp;wa=wsignin1.0&lt;/p&gt;</description></item><item><title>Retrieving a DataRow from a data item</title><link>http://xceed.com/CS/forums/thread/28192.aspx</link><pubDate>Mon, 04 Jan 2010 14:22:06 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28192</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28192.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28192</wfw:commentRss><description>The following example demonstrates how to retrieve a DataRow (container) for a data item using the GetContainerFromItem method. It is important to remember that data rows are virtualized; therefore, references to them or their cells should never be kept.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;C#&lt;br/&gt;&lt;br/&gt;&lt;/strong&gt;
&lt;p&gt;public Window1()&lt;br/&gt;{&lt;br/&gt;&amp;nbsp; InitializeComponent();&lt;br/&gt;&amp;nbsp; DataGridControl grid = new DataGridControl();&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;&amp;nbsp; DataGridCollectionView view = new DataGridCollectionView( App.Orders.DefaultView );&lt;br/&gt;&amp;nbsp; grid.ItemsSource = view;&lt;br/&gt;&amp;nbsp; // Subscribe to the PropertyChanged event to know when the CurrentItem property changes.&lt;br/&gt;&amp;nbsp; grid.PropertyChanged += &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new System.ComponentModel.PropertyChangedEventHandler( grid_PropertyChanged );&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;&amp;nbsp; this.Content = grid;&lt;br/&gt;}&lt;/p&gt;
&lt;p&gt;void grid_PropertyChanged( object sender, System.ComponentModel.PropertyChangedEventArgs e )&lt;br/&gt;{&lt;br/&gt;&amp;nbsp; if( e.PropertyName == "CurrentItem" )&lt;br/&gt;&amp;nbsp; {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Retrieve the data-row container for the current item. Can be null if the data item&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // is not in the viewport.&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataGridControl grid = sender as DataGridControl;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Xceed.Wpf.DataGrid.DataRow row = grid.GetContainerFromItem( grid.CurrentItem ) as Xceed.Wpf.DataGrid.DataRow;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Change the background of the data row to pink. Data rows are recycled once they&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // exit the viewport; therefore, any modifications made to a data row will&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // be discarded once it is no longer in the viewport.&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.Background = Brushes.Pink;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;VB.NET&lt;br/&gt;&lt;br/&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Public Sub New()&lt;br/&gt;&amp;nbsp; InitializeComponent()&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Dim grid As New DataGridControl()&lt;br/&gt;&amp;nbsp; Dim view As New DataGridCollectionView( App.Orders.DefaultView )&lt;/p&gt;
&lt;p&gt;&amp;nbsp; grid.ItemsSource = view&lt;/p&gt;
&lt;p&gt;&amp;nbsp; ' Subscribe to the PropertyChanged event to know when the CurrentItem property changes.&lt;br/&gt;&amp;nbsp; AddHandler grid.PropertyChanged, AddressOf grid_PropertyChanged&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Me.Content = grid&lt;br/&gt;End Sub&lt;/p&gt;
&lt;p&gt;Private Sub grid_PropertyChanged( ByVal sender As Object, _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ByVal e As System.ComponentModel.PropertyChangedEventArgs )&lt;br/&gt;&amp;nbsp; If e.PropertyName = "CurrentItem" Then&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Retrieve the data-row container for the current item. Can be Nothing if the data item&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' is not in the viewport.&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim grid As DataGridControl = CType( sender, DataGridControl )&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim row As Xceed.Wpf.DataGrid.DataRow = TryCast( grid.GetContainerFromItem( grid.CurrentItem ), Xceed.Wpf.DataGrid.DataRow )&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Change the background of the data row to pink. Data rows are recycled once they&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' exit the viewport; therefore, any modifications made to a data row will&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' be discarded once it is no longer in the viewport.&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.Background = Brushes.Pink&lt;br/&gt;&amp;nbsp; End If &lt;br/&gt;End Sub&lt;/p&gt;</description></item><item><title>Insufficient memory to continue the execution of the program (Zombie exception).</title><link>http://xceed.com/CS/forums/thread/28207.aspx</link><pubDate>Mon, 19 Oct 2009 15:10:52 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28207</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28207.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28207</wfw:commentRss><description>&lt;body&gt;
This is a known issue that was introduced in the .NET Framework when 3.5 SP1 was released. Microsoft has provided a hotfix, which can be downloaded here: http://support.microsoft.com/kb/967634
&lt;/body&gt;</description></item><item><title>Warning of dependency on System.Data.Entity assembly when building against Client Profile</title><link>http://xceed.com/CS/forums/thread/28206.aspx</link><pubDate>Tue, 11 Aug 2009 16:13:51 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28206</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28206.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28206</wfw:commentRss><description>&lt;body&gt;When compiling the grid against the Client Profile, the following warning may occur:&lt;br/&gt;&lt;br/&gt;The referenced assembly "Xceed.Wpf.DataGrid, Version=3.2.9329.11090, Culture=neutral, PublicKeyToken=ba83ff368b7563c6, processorArchitecture=MSIL" has a dependency on "System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which is not listed as part of the "Client" TargetFrameworkSubset. If this dependent reference is required, you may get compilation errors.&lt;br/&gt;&lt;br/&gt;This is a known warning that will have no impact on your code and will not cause any issues when distributing your application to a machine where only the Client Profile is installed.&lt;/body&gt;</description></item><item><title>Why are bindings failing in the print PageHeaders/Footers?</title><link>http://xceed.com/CS/forums/thread/28205.aspx</link><pubDate>Thu, 30 Jul 2009 14:11:43 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28205</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28205.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28205</wfw:commentRss><description>&lt;p&gt;Because of a limitation with the way that the printing works, the PageControl hosting the PageHeaders, PageFooters, and printed grid host do not have automatic access to ancestors.&lt;/p&gt;&lt;p&gt;The PageControl is &lt;b&gt;not &lt;/b&gt;hosted in the same container (e.g., Window or&amp;nbsp;Page)&amp;nbsp;that is&amp;nbsp;hosting&amp;nbsp;the DataGridControl. It is in a separate VisualTree at the Application scope; therefore, FindAncestor bindings&amp;nbsp;will not&amp;nbsp;work since&amp;nbsp;the PageControl can only access properties and resources set directly on the Application level (i.e., in the app class or App.xaml).&lt;br&gt;&lt;br&gt;A workaround that we implemented was to set the PageControl's DataContext to your DataGridControl's DataContext, which means that, if your DataGridControl's DataContext is the instance of the Window hosting it, then&amp;nbsp;the PageControl will be able to access the Window's properties through a relative-source binding. For example:&lt;/p&gt;&lt;p&gt;Binding RelativeSource={RelativeSource AncestorType={x:Type xcdg:PrintVirtualizingStackPanel}}, Path=DataContext....&amp;nbsp;&lt;/p&gt;&lt;p&gt;The FindAncestor binding or ElementName binding still won't work since setting the DataContext does not change the fact that the PageControl is being hosted at the scope of your application and does not have&amp;nbsp; access to the visual tree of your DataGridControl.&lt;/p&gt;</description></item><item><title>Statistical functions not being updated when bound to an ObservableCollection</title><link>http://xceed.com/CS/forums/thread/28202.aspx</link><pubDate>Thu, 05 Mar 2009 18:42:03 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28202</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28202.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28202</wfw:commentRss><description>&lt;p&gt;An &lt;strong&gt;ObservableCollection&lt;/strong&gt; provides notifications when its collection of items changes (i.e., items are added or removed)&amp;nbsp;and not when the values of these items is changed. Even if the items contained in the &lt;strong&gt;ObservableCollection&lt;/strong&gt; implement &lt;strong&gt;INotifyPropertyChanged&lt;/strong&gt;, an &lt;strong&gt;ObservableCollection&lt;/strong&gt; does not "listen" to these events. A &lt;strong&gt;BindingList&lt;/strong&gt; will provide notifications when new items are added or existing items are removed (&lt;strong&gt;INotifyCollectionChanged&lt;/strong&gt;) and will also provide notifications when existing items are modified as long as the item type implements &lt;strong&gt;INotifyPropertyChanged&lt;/strong&gt;. &lt;br/&gt;&lt;br/&gt;If the grid is bound to an ObservableCollection and modifications are made directly to the items in&amp;nbsp;the underlying collection (not through the grid), the changes will not be reflected in the grid. As a result, statistical functions will not be updated. Using a BindingList resolves this issue.&lt;br/&gt;&lt;br/&gt;In both cases, if the grid is bound through a &lt;strong&gt;DataGridCollectionView&lt;/strong&gt; or &lt;strong&gt;DataGridCollectionViewSource&lt;/strong&gt; and modifications are made through the grid, changes will be reflected immediately, regardless of the underlying data source type.&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;</description></item><item><title>How to do row-level validation.</title><link>http://xceed.com/CS/forums/thread/28204.aspx</link><pubDate>Tue, 10 Feb 2009 15:31:00 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28204</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28204.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28204</wfw:commentRss><description>&lt;p&gt;&lt;span&gt;To implement row-level validation you could handle the &lt;strong&gt;EditEnding&lt;/strong&gt; event on the &lt;strong&gt;DataRow&lt;/strong&gt; class. Since the sender of this event is a &lt;strong&gt;DataRow&lt;/strong&gt; object, you will have access to the entire row to provide the desired validation. For example:&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;nbsp;&amp;lt;Style TargetType="{x:Type xcdg:DataRow}"&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;lt;EventSetter Event="EditEnding" Handler="EditEndingHandler"/&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;lt;/Style&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;In code-behind: &lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;font size="1"&gt;private void EditEndingHandler( object sender, RoutedEventArgs e )&lt;br/&gt;{&lt;br/&gt;&amp;nbsp;&amp;nbsp; Xceed.Wpf.DataGrid.DataRow row = sender as Xceed.Wpf.DataGrid.DataRow;&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp; if( row != null )&lt;br/&gt;&amp;nbsp;&amp;nbsp; {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // do your validation here&lt;br/&gt;&amp;nbsp;&amp;nbsp; }&lt;br/&gt;}&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Does Xceed DataGrid for WPF support QTP automation?</title><link>http://xceed.com/CS/forums/thread/28203.aspx</link><pubDate>Thu, 05 Feb 2009 17:58:23 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28203</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28203.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28203</wfw:commentRss><description>Yes. As of version 3.1, the Professional Edition of&amp;nbsp;Xceed DataGrid for WPF support UI automation.</description></item><item><title>How can I disable UI virtualization?</title><link>http://xceed.com/CS/forums/thread/28201.aspx</link><pubDate>Thu, 05 Feb 2009 14:55:53 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28201</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28201.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28201</wfw:commentRss><description>&lt;p&gt;UI virtualization can be disabled by creating an implicit style that targets &lt;strong&gt;TableViewScrollViewer&lt;/strong&gt; and that sets the &lt;strong&gt;CanContentScroll&lt;/strong&gt; property to false.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&amp;nbsp;&lt;span&gt;&lt;font size="1"&gt;&amp;lt;Style TargetType="xcdg:TableViewScrollViewer"&amp;gt;&lt;br/&gt;&amp;nbsp; &amp;lt;Setter Property="CanContentScroll"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Value="False" /&amp;gt;&lt;br/&gt;&amp;lt;/Style&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;In this case, it is also recommended to activate immediate scrolling by setting the grid's &lt;strong&gt;ItemScrollingBehavior&lt;/strong&gt; property to Immediate.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&amp;nbsp;&lt;font size="1"&gt;&amp;lt;xcdg:DataGridControl ItemScrollingBehavior="Immediate"/&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;Note that to disable UI virtualization in card view, the style should target &lt;strong&gt;CardViewScrollViewer&lt;/strong&gt; rather than &lt;strong&gt;TableViewScrollViewer&lt;/strong&gt;.</description></item><item><title>Grid double-click event</title><link>http://xceed.com/CS/forums/thread/28200.aspx</link><pubDate>Tue, 03 Feb 2009 14:30:38 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28200</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28200.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28200</wfw:commentRss><description>&lt;p&gt;&lt;span&gt;You could create an implicit style on the DataRow to catch the PreviewMouseDoubleClick with an event setter :&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;nbsp;&amp;lt;Style TargetType="{x:Type xcdg:DataRow}" &amp;gt;&lt;br/&gt;&amp;nbsp; &amp;lt;EventSetter Event="PreviewMouseDoubleClick" Handler="DataRow_PreviewMouseDoubleClick" /&amp;gt;&lt;br/&gt;&amp;lt;/Style&amp;gt;&lt;br/&gt;&lt;br/&gt;private void DataRow_PreviewMouseDoubleClick( object sender, MouseButtonEventArgs e )&lt;br/&gt;{&lt;br/&gt;&amp;nbsp; // Your code here&lt;br/&gt;}&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>First row highlighted in version 3.1</title><link>http://xceed.com/CS/forums/thread/28199.aspx</link><pubDate>Tue, 27 Jan 2009 15:31:35 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28199</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28199.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28199</wfw:commentRss><description>&lt;body&gt;In version 3.1, the current item is synchronized with the current item in the collection view, which is why the first item is now highlighted by default. The fact that it was not highlighted in version 3.0 was considered a bug. 

What you can do if you do not want the selection color is to create an implicit style that targets DataRow and that has a setter that sets the SelectionBackground color to null or transparent.&lt;/body&gt;</description></item><item><title>How can I be notified when the selected items change?</title><link>http://xceed.com/CS/forums/thread/28117.aspx</link><pubDate>Wed, 22 Oct 2008 20:22:49 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28117</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28117.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28117</wfw:commentRss><description>&lt;body&gt;&lt;body&gt;&lt;p&gt;&lt;font face="null"&gt;The &lt;strong&gt;SelectedItem&lt;/strong&gt; and &lt;strong&gt;SelectedIndex&lt;/strong&gt; properties are dependency properties for which value-changed handlers can be created in order to be notified when their value changes. For example:&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font face="null" size="1"&gt; &lt;/font&gt;&lt;font face="null" color="#000000" size="1"&gt;DependencyPropertyDescriptor selectedItemDescriptor = DependencyPropertyDescriptor.FromProperty( DataGridControl.SelectedItemProperty, typeof( DataGridControl ) );&lt;br/&gt;&lt;br/&gt;selectedItemDescriptor.AddValueChanged( this.EmployeesGrid, this.SelectedItemChanged );&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;&lt;font face="null"&gt;The &lt;strong&gt;SelectedItems&lt;/strong&gt; property is also a dependency property; however, using a value-changed handler will not function in this case since the values of the collection are modified and not the collection itself. Although the &lt;strong&gt;SelectedItems&lt;/strong&gt; property is exposed as an IList it is actually an &lt;strong&gt;ObservableCollection&lt;/strong&gt;; therefore, in order to be notified when its content (i.e., the items that are selected) changes, it can be cast as an &lt;strong&gt;INotifyCollectionChanged&lt;/strong&gt; and subscribe to its &lt;strong&gt;CollectionChanged&lt;/strong&gt; event. For example:&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font face="null" color="#ffffff"&gt;&lt;font color="#000000" size="1"&gt; ( ( INotifyCollectionChanged )this.EmployeesGrid.SelectedItems ).CollectionChanged += new NotifyCollectionChangedEventHandler( Window1_CollectionChanged );&lt;/font&gt; &lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;/body&gt;&lt;/body&gt;</description></item><item><title>Auto-complete ComboBox cell editor</title><link>http://xceed.com/CS/forums/thread/28198.aspx</link><pubDate>Fri, 10 Oct 2008 13:41:43 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28198</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28198.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28198</wfw:commentRss><description>This sample demonstrates how to create an auto-complete ComboBox cell editor that is bound to the DistinctValues of the corresponding cell's DataGridContext. This sample requires that automatic filtering, which is available only in the Professional Edition of Xceed DataGrid for WPF, be enabled.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&amp;nbsp;&lt;font size="1"&gt; &amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Source="{Binding Source={x:Static Application.Current}, Path=Employees}"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AutoFilterMode="And" /&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;nbsp;&amp;nbsp;&amp;nbsp; ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:Column FieldName="LastName"&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:Column.CellEditor&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:CellEditor&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:CellEditor.EditTemplate&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;DataTemplate&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;nbsp;&amp;nbsp; &amp;lt;xcdg:NavigableComboBox IsEditable="true"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StaysOpenOnEdit="True"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=xcdg:Cell}, &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;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;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;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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Path=(xcdg:DataGridControl.DataGridContext).DistinctValues[LastName]}"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Text="{xcdg:CellEditorBinding}"&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nb</description></item><item><title>How to retrieve the DataRows in their sorted order</title><link>http://xceed.com/CS/forums/thread/28196.aspx</link><pubDate>Thu, 09 Oct 2008 17:26:03 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28196</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28196.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28196</wfw:commentRss><description>A list of all the DataRows contained within the grid can be retrieved using the grid's collection of DataRows; however, the list returned will contain the DataRows in the order that they are found in the data source. If you want to retrieve the DataRows in the order that they are sorted in the grid, then you will need to use the grid's GetSortedDataRows method. &lt;br/&gt;&lt;br/&gt;The GetSortedDataRows method also allows you to retrieve the DataRows recursively depending on the value of its recursive parameter. If the grid does not contain any groups, then setting the recursive parameter to true or false will have the same result: all the DataRows will be retrieved. If the grid contains groups, then setting the recursive parameter to false will result in no DataRows being returned since the DataRows are contained within the groups. Setting the recursive parameter to true (in the case where the grid contains groups) will result in all the DataRows being returned. &lt;br/&gt;&lt;br/&gt;It is also possible to retrieve the DataRows of a specific group using the group's GetSortedDataRows method.&lt;br/&gt;&lt;br/&gt;The following example demonstrates how to retrieve a list of all the DataRows in the grid in the order that they are sorted. Because we are setting the recursive parameter of the GetSortedDataRows method to true, all DataRows, event those contained within groups, will be retrieved.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;VB.NET&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Dim rows As Xceed.Grid.Collections.ReadOnlyDataRowList = GridControl1.GetSortedDataRows( True )&lt;br/&gt;Dim row As Xceed.Grid.DataRow &lt;br/&gt;&lt;br/&gt;For Each row in rows&lt;br/&gt;&amp;nbsp; ListBox1.Items.Add( "Row #" + row.Index.ToString() + " : sort position " +&amp;nbsp; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows.IndexOf( row ).ToString() )&lt;br/&gt;Next row&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Xceed.Grid.Collections.ReadOnlyDataRowList rows = gridControl1.GetSortedDataRows( true ); &lt;br/&gt;&lt;br/&gt;foreach( Xceed.Grid.DataRow row in rows )&lt;br/&gt;{&lt;br/&gt;&amp;nbsp; listBox1.Items.Add( "Row #" + row.Index.ToString() + " : sort position " +&amp;nbsp;&amp;nbsp; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows.IndexOf( row ).ToString() );&lt;br/&gt;}&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;&lt;br/&gt;</description></item><item><title>How to iterate through the grid's rows</title><link>http://xceed.com/CS/forums/thread/28197.aspx</link><pubDate>Thu, 09 Oct 2008 17:25:43 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28197</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28197.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28197</wfw:commentRss><description>&lt;p&gt;There is no direct way you can iterate through all the rows in the grid in a sequential manner. In order to iterate through all of the grid's rows, you will need to go through each collection of rows. &lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&lt;font size="1"&gt;Collection&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&lt;font size="1"&gt;Description&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;GridControl.FixedHeaderRows&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font size="1"&gt;A list of all the fixed header rows of the grid. The fixed header rows are the rows found in the non-scrollable header section of the grid. This section will not scroll with the grid body.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;GridControl.HeaderRows&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font size="1"&gt;A list of all the non-fixed header rows of the grid. The header rows are the rows found in the header section of the grid, before the data rows and groups, and that scroll with the grid body.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;Group.HeaderRows&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font size="1"&gt;A list of all the header rows of the group. The header rows are the rows found in the header section of the group, before the data rows.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;Group.GetSortedDatarows&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font size="1"&gt;A collection of sorted data rows.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;Group.FooterRows&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font size="1"&gt;A list of all the footer rows of the group. The footer rows are the rows found in the footer section of the group, after the data rows.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;GridControl.DataRows&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;font size="1"&gt;A list of all the data rows in the grid.&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;GridControl.FooterRows&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font size="1"&gt;A list of all the non-fixed footer rows of the grid. The footer rows are the rows found in the footer section of the grid, after the data rows and groups, and that scroll with the grid body.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;GridControl.FixedFooterRows&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font size="1"&gt;&lt;span&gt;A list of all the fixed footer rows of the grid. The fixed footer rows are the rows found in the non-scrollable footer section of the grid. This section will not scroll with the grid body.&lt;/span&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;GridControl.GetSortedDataRows&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;font size="1"&gt;A list of all the data rows in the grid, in their sorted order&lt;/font&gt;.&lt;/span&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;The GetSortedDataRows methods of either the grid or a group will return a collection containing the DataRows in the order that they are sorted. If a group contains child groups, it will not have any immediate child DataRows.&lt;br/&gt;&lt;br/&gt;The following example demonstrates how to iterate through all the rows found in the grid and display information about each in a listbox.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;VB.NET&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Dim row As Row&lt;br/&gt;&lt;br/&gt;For Each row In GridControl1.FixedHeaderRows&lt;br/&gt;&amp;nbsp;&amp;nbsp; ListBox1.Items.Add( "FixedHeaderRows : " + row.GetType().ToString() )&lt;br/&gt;Next row&lt;br/&gt;&lt;br/&gt;For Each row In GridControl1.HeaderRows&lt;br/&gt;&amp;nbsp;&amp;nbsp; ListBox1.Items.Add( "HeaderRows : " + row.GetType().ToString() )&lt;br/&gt;Next row&lt;br/&gt;&lt;br/&gt;If GridControl1.Groups.Count &amp;gt; 0 Then&lt;br/&gt;&amp;nbsp;&amp;nbsp; Dim group As Group&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp; For Each group In GridControl1.Groups&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.ListDataRows( group )&lt;br/&gt;&amp;nbsp;&amp;nbsp; Next group&lt;br/&gt;Else ' There are no groups so we will simply list the DataRows&lt;br/&gt;&amp;nbsp;&amp;nbsp; For Each row In GridControl1.DataRows&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ListBox1.Items.Add( "DataRows : " + row.GetType().ToString() )&lt;br/&gt;&amp;nbsp;&amp;nbsp; Next row&lt;br/&gt;End If&lt;br/&gt;&lt;br/&gt;For Each row In GridControl1.FooterRows&lt;br/&gt;&amp;nbsp;&amp;nbsp; ListBox1.Items.Ad</description></item><item><title>How to commit modifications to a DataRow</title><link>http://xceed.com/CS/forums/thread/28195.aspx</link><pubDate>Thu, 09 Oct 2008 17:16:41 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28195</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28195.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28195</wfw:commentRss><description>In order for the modifications to be committed (to the DataRow not the datasource) the DataRow's EndEdit method must be called. This method is automatically called when you click on another row. If you want the modifications to be made when you click on a button for example, you can manually call EndEdit.&amp;nbsp; If the value entered is valid, it will be committed, if it was not, the EndEdit method will throw. You can handle the DataRowTemplate's ValidationError to prevent the DataRow from leaving edit mode in this case, otherwise the value will not be committed and the row will exit edit mode.&amp;nbsp; If you do not want the changes to be committed in the case where the user presses the button but EndEdit has not been called, then use the CancelEdit method instead.</description></item><item><title>Deleting selected items</title><link>http://xceed.com/CS/forums/thread/28191.aspx</link><pubDate>Thu, 09 Oct 2008 13:54:24 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28191</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28191.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28191</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to delete the selected items from the underlying data view when the delete key is pressed via the PreviewKeyDown event.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;               &lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt; &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                       ItemsSource="{Binding Source={StaticResource cvs_orders}}"&lt;br/&gt;                       PreviewKeyDown="DeleteSelectedRows"&amp;gt;&lt;br/&gt; &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;VB.NET&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Private Sub DeleteSelectedRows(ByVal sender As Object, ByVal e As KeyEventArgs)&lt;br/&gt;  Dim grid As DataGridControl = TryCast( sender, DataGridControl )&lt;br/&gt;&lt;br/&gt;  If Not grid Is Nothing Then&lt;br/&gt;    If e.Key = Key.Delete Then&lt;br/&gt;      If grid.SelectedItems.Count &amp;gt; 0 Then&lt;br/&gt;        ' we keep a copy of the selected items because once the first item is deleted,&lt;br/&gt;        ' the selected items are reset to 0.&lt;br/&gt;        Dim items As ArrayList = New ArrayList( grid.SelectedItems )&lt;br/&gt;        Dim dataView As DataView = TryCast( ( CType( grid.ItemsSource, _&lt;br/&gt;                       DataGridCollectionView ) ).SourceCollection, DataView )&lt;br/&gt;        For i As Integer = items.Count - 1 To 0 Step -1&lt;br/&gt;          dataView.Table.Rows.Remove( CType( items( i ), System.Data.DataRow ) )&lt;br/&gt;        Next i&lt;br/&gt;        grid.CurrentItem = grid.Items( 0 )&lt;br/&gt;      End If&lt;br/&gt;    End If&lt;br/&gt;  End If&lt;br/&gt;End Sub&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;private void DeleteSelectedRows( object sender, KeyEventArgs e )&lt;br/&gt;{&lt;br/&gt; DataGridControl grid = sender as DataGridControl;      &lt;br/&gt;&lt;br/&gt; if( grid != null )&lt;br/&gt; {&lt;br/&gt;   if( e.Key == Key.Delete )&lt;br/&gt;   {&lt;br/&gt;     if( grid.SelectedItems.Count &amp;gt; 0 )&lt;br/&gt;     {&lt;br/&gt;       // we keep a copy of the selected items because once the first item is deleted,&lt;br/&gt;       // the selected items are reset to 0 and the source may be automatically modified to&lt;br/&gt;       // reflect the new items.&lt;br/&gt;       ArrayList items = new ArrayList( grid.SelectedItems );&lt;br/&gt;       DataView dataView = ( ( DataGridCollectionView )grid.ItemsSource ).SourceCollection as DataView;&lt;br/&gt;       for( int i = items.Count - 1; i &amp;gt;= 0; i-- )&lt;br/&gt;       {&lt;br/&gt;         dataView.Table.Rows.Remove( ( System.Data.DataRow )items[ i ] );&lt;br/&gt;       }&lt;br/&gt;       grid.CurrentItem = grid.Items[ 0 ];&lt;br/&gt;     }&lt;br/&gt;   }&lt;br/&gt; }&lt;br/&gt;}&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Retrieving a parent group</title><link>http://xceed.com/CS/forums/thread/28193.aspx</link><pubDate>Thu, 09 Oct 2008 13:54:08 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28193</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28193.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28193</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to retrieve the parent group of the current item using the GetParentGroupFromItem method so that it can be collapsed. The implementation for the CollapseCurrentGroup method is provided below.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                     Source="{Binding Source={x:Static Application.Current}, Path=Orders}"&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridGroupDescription PropertyName="ShipCountry"/&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridGroupDescription PropertyName="ShipCity"/&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;DockPanel&amp;gt;&lt;br/&gt;    &amp;lt;Button Content="Collapse Group"&lt;br/&gt;             Click="CollapseCurrentGroup"&lt;br/&gt;            DockPanel.Dock="Top"/&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                          ItemsSource="{Binding Source={StaticResource cvs_orders}}"&lt;br/&gt;                          DockPanel.Dock="Bottom"/&amp;gt;&lt;br/&gt;  &amp;lt;/DockPanel&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;The following provides the implementation for the CollapseCurrentGroup method.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;VB.NET&lt;br/&gt;&lt;/strong&gt;&lt;br/&gt;Private Sub CollapseCurrentGroup( ByVal sender As Object, ByVal e As RoutedEventArgs )&lt;br/&gt;  Dim context As DataGridContext = Me.OrdersGrid.CurrentContext&lt;br/&gt;  Dim group As CollectionViewGroup = context.GetParentGroupFromItem( context.CurrentItem )&lt;br/&gt;&lt;br/&gt;  context.CollapseGroup( group )&lt;br/&gt;End Sub&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;private void CollapseCurrentGroup( object sender, RoutedEventArgs e )&lt;br/&gt;{&lt;br/&gt;  DataGridContext context = this.OrdersGrid.CurrentContext;&lt;br/&gt;  CollectionViewGroup group = context.GetParentGroupFromItem( context.CurrentItem );&lt;br/&gt;  context.CollapseGroup( group );&lt;br/&gt;}&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Subscribing to the events of an element</title><link>http://xceed.com/CS/forums/thread/28194.aspx</link><pubDate>Thu, 09 Oct 2008 13:53:17 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28194</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28194.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28194</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to subscribe the MouseEnter and MouseLeave events of each DataRow using EventTriggers in an implicit style. The MouseEnter and MouseLeave event handlers are provided below.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                       Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;Style TargetType="{x:Type xcdg:DataRow}"&amp;gt;&lt;br/&gt;      &amp;lt;EventSetter Event="MouseEnter"&lt;br/&gt;                   Handler="DataRowMouseEnter"/&amp;gt;&lt;br/&gt;      &amp;lt;EventSetter Event="MouseLeave"&lt;br/&gt;                   Handler="DataRowMouseLeave"/&amp;gt;&lt;br/&gt;    &amp;lt;/Style&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;     &lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"&lt;br/&gt;                        View="TableView.LunaNormalColorTheme"/&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;The following code provides the implementation of the MouseEnter and MouseLeave event handlers, which change the background color of a DataRow when the mouse enters and resets it when the mouse leaves.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;VB.NET&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Private Sub DataRowMouseEnter(ByVal sender As Object, ByVal e As MouseEventArgs)&lt;br/&gt;  Dim row As Xceed.Wpf.DataGrid.DataRow = TryCast(sender, Xceed.Wpf.DataGrid.DataRow)&lt;br/&gt;&lt;br/&gt;  If Not row Is Nothing Then&lt;br/&gt;    row.Background = Brushes.Pink&lt;br/&gt;  End If&lt;br/&gt;End Sub&lt;br/&gt;&lt;br/&gt;Private Sub DataRowMouseLeave(ByVal sender As Object, ByVal e As MouseEventArgs)&lt;br/&gt;  Dim row As Xceed.Wpf.DataGrid.DataRow = TryCast(sender, Xceed.Wpf.DataGrid.DataRow)&lt;br/&gt;&lt;br/&gt;  If Not row Is Nothing Then&lt;br/&gt;    row.Background = DataGridControl.GetParentDataGridControl( row ).Background&lt;br/&gt;  End If&lt;br/&gt;End Sub&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;private void DataRowMouseEnter( object sender, MouseEventArgs e )&lt;br/&gt;{&lt;br/&gt;  Xceed.Wpf.DataGrid.DataRow row = sender as Xceed.Wpf.DataGrid.DataRow;&lt;br/&gt;&lt;br/&gt;  if( row != null )&lt;br/&gt;  {&lt;br/&gt;    row.Background = Brushes.Pink;&lt;br/&gt;  }&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;private void DataRowMouseLeave( object sender, MouseEventArgs e )&lt;br/&gt;{&lt;br/&gt;  Xceed.Wpf.DataGrid.DataRow row = sender as Xceed.Wpf.DataGrid.DataRow;&lt;br/&gt;&lt;br/&gt;  if( row != null )&lt;br/&gt;  {&lt;br/&gt;    row.Background = DataGridControl.GetParentDataGridControl( row ).Background;&lt;br/&gt;  }&lt;br/&gt;}&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Handling collection-changed events</title><link>http://xceed.com/CS/forums/thread/28136.aspx</link><pubDate>Thu, 09 Oct 2008 13:42:07 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28136</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28136.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28136</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to subscribe to the CollectionChanged event of the DataGridCollectionView.SortDescriptions collection's INotifyCollectionChanged interface implementation to be notified when sorting applied to a grid's columns changes.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;VB.NET&lt;br/&gt;&lt;/strong&gt;&lt;br/&gt;Protected Overrides Sub OnInitialized(ByVal e As EventArgs)&lt;br/&gt;  MyBase.OnInitialized(e)&lt;br/&gt;&lt;br/&gt;  Dim view As DataGridCollectionView = TryCast(Me.OrdersGrid.ItemsSource, DataGridCollectionView)&lt;br/&gt;  AddHandler (CType(view.SortDescriptions, INotifyCollectionChanged)).CollectionChanged, AddressOf SortCollectionChanged&lt;br/&gt;End Sub&lt;br/&gt;&lt;br/&gt;Private Sub SortCollectionChanged(ByVal sender As Object, ByVal e As NotifyCollectionChangedEventArgs)&lt;br/&gt;  Debug.WriteLine("Sort changed")&lt;br/&gt;End Sub&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;protected override void OnInitialized( EventArgs e )&lt;br/&gt;{&lt;br/&gt;  base.OnInitialized( e ); &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;  DataGridCollectionView view = this.OrdersGrid.ItemsSource as DataGridCollectionView;&lt;br/&gt;  ( ( INotifyCollectionChanged )view.SortDescriptions ).CollectionChanged += new NotifyCollectionChangedEventHandler( this.SortCollectionChanged );&lt;br/&gt;} &lt;br/&gt;&lt;br/&gt;private void SortCollectionChanged( object sender, NotifyCollectionChangedEventArgs e )&lt;br/&gt;{&lt;br/&gt;  Debug.WriteLine( "Sort changed" );&lt;br/&gt;}&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Creating a value-changed handler</title><link>http://xceed.com/CS/forums/thread/28190.aspx</link><pubDate>Thu, 09 Oct 2008 13:39:08 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28190</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28190.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28190</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to create a DependencyPropertyDescriptor for the ItemsSource property that will provide a value-changed handler so that we can be notified when the value of the ItemsSource property is changed. &lt;br/&gt;&lt;br/&gt;The value of the ItemsSource property is changed to the Employees table when the button located above the grid is clicked.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;DockPanel&amp;gt;&lt;br/&gt;    &amp;lt;Button Content="Change data source"&lt;br/&gt;            DockPanel.Dock="Top"&lt;br/&gt;            Click="ChangeDataSource"/&amp;gt;&lt;br/&gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                            ItemsSource="{Binding Source={StaticResource cvs_orders}}"&lt;br/&gt;                            DockPanel.Dock="Bottom"/&amp;gt;&lt;br/&gt;  &amp;lt;/DockPanel&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;The DependencyPropertyDescriptor for the ItemsSource property is defined in the OnInitialized override and will call the OnDataGridItemsSourceChanged method when the ItemsSource property has been changed. The ChangeDataSource method will be called by the button to change the ItemsSource property.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;VB.NET&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Protected Overrides Sub OnInitialized( ByVal e As EventArgs )&lt;br/&gt;  MyBase.OnInitialized( e ) &lt;br/&gt;&lt;br/&gt;  Dim gridItemsSourceDescriptor As DependencyPropertyDescriptor = DependencyPropertyDescriptor.FromProperty( DataGridControl.ItemsSourceProperty, GetType( DataGridControl ) )&lt;br/&gt;  gridItemsSourceDescriptor.AddValueChanged( Me.OrdersGrid, New EventHandler( AddressOf OnDataGridItemsSourceChanged ) )&lt;br/&gt;End Sub&lt;br/&gt;&lt;br/&gt;Protected Sub OnDataGridItemsSourceChanged( ByVal sender As Object, ByVal args As EventArgs )&lt;br/&gt;  ' Before assigning the ItemsSource, UpdateLayout must be called to ensure that the&lt;br/&gt;  ' DataGridControl's template is created and sized correctly in the page or window.&lt;br/&gt;  Me.OrdersGrid.UpdateLayout()&lt;br/&gt;&lt;br/&gt;  Dim column As Column&lt;br/&gt;  For Each column In Me.OrdersGrid.Columns&lt;br/&gt;    Dim width As Double = column.GetFittedWidth()&lt;br/&gt;    If width &amp;gt; -1 Then&lt;br/&gt;      column.Width = width&lt;br/&gt;    End IF&lt;br/&gt;  Next column&lt;br/&gt;End Sub&lt;br/&gt;&lt;br/&gt;Private Sub ChangeDataSource( ByVal sender As object, ByVal e As RoutedEventArgs )&lt;br/&gt;  Me.OrdersGrid.Columns.Clear()&lt;br/&gt;  Me.OrdersGrid.ItemsSource = Nothing     &lt;br/&gt;  Me.OrdersGrid.ItemsSource = New DataGridCollectionView( App.Employees.DefaultView )&lt;br/&gt;End Sub&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;strong&gt;C#&lt;br/&gt;&lt;/strong&gt;&lt;br/&gt;protected override void OnInitialized( EventArgs e )&lt;br/&gt;{&lt;br/&gt;  base.OnInitialized( e );&lt;br/&gt;  DependencyPropertyDescriptor gridItemsSourceDescriptor = DependencyPropertyDescriptor.FromProperty( DataGridControl.ItemsSourceProperty, typeof( DataGridControl ) );&lt;br/&gt;  gridItemsSourceDescriptor.AddValueChanged( this.OrdersGrid, OnDataGridItemsSourceChanged );&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;protected void OnDataGridItemsSourceChanged( object sender, EventArgs args )&lt;br/&gt;{&lt;br/&gt;  // Before assigning the ItemsSource, UpdateLayout must be called to ensure that the&lt;br/&gt;  // DataGridControl's template is created and sized correctly in the page or window.&lt;br/&gt;  this.OrdersGrid.UpdateLayout();&lt;br/&gt;&lt;br/&gt;  foreach( Column column in this.OrdersGrid.Columns )&lt;br/&gt;  {&lt;br/&gt;    double width = column.GetFittedWidth();&lt;br/&gt;    if( width &amp;gt; -1 )&lt;br/&gt;    {&lt;br/&gt;      column.Width = width;&lt;br/&gt;    }&lt;br/&gt;  }&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;private void ChangeDataSource( object sender, RoutedEventArgs e )&lt;br/&gt;</description></item><item><title>Providing a cell-content template</title><link>http://xceed.com/CS/forums/thread/28184.aspx</link><pubDate>Thu, 09 Oct 2008 13:36:01 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28184</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28184.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28184</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to provide a new CellContentTemplate, using property element syntax, for a boolean column that displays a check mark when the cell's value is true, and an "x" when it is false.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_products"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=Products}"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;xcdg:DataGridControl x:Name="ProductsGrid"&lt;br/&gt;                         ItemsSource="{Binding Source={StaticResource cvs_products}}"&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:Column FieldName="Discontinued"&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:Column.CellContentTemplate&amp;gt;&lt;br/&gt;              &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;                 &amp;lt;Image x:Name="img" Source="D:\true.png" Stretch="None" /&amp;gt;&lt;br/&gt;                    &amp;lt;DataTemplate.Triggers&amp;gt;&lt;br/&gt;                       &amp;lt;DataTrigger Binding="{Binding}" Value="False"&amp;gt;&lt;br/&gt;                         &amp;lt;Setter TargetName="img" Property="Source" Value="D:\false.png" /&amp;gt;&lt;br/&gt;                       &amp;lt;/DataTrigger&amp;gt;&lt;br/&gt;                    &amp;lt;/DataTemplate.Triggers&amp;gt;&lt;br/&gt;              &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;           &amp;lt;/xcdg:Column.CellContentTemplate&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:Column&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;   &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Formatting a cell's content</title><link>http://xceed.com/CS/forums/thread/28189.aspx</link><pubDate>Thu, 09 Oct 2008 13:35:46 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28189</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28189.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28189</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to format a cell's content to display a numeric value as a currency value. Although it might be tempting to apply the converter to a column's DisplayMemberBindingInfo, this is not the recommended location as not only will the cells' content be formatted but the data type of the cells' content will be changed to the converter's.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&lt;br/&gt;      xmlns:local="clr-namespace:Xceed.Wpf.Documentation"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orderdetails"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=OrderDetails}"/&amp;gt;           &lt;br/&gt;           &lt;br/&gt;    &amp;lt;xcdg:CurrencyConverter x:Key="currencyConverter"/&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;DataTemplate x:Key="currency_celltemplate"&amp;gt;&lt;br/&gt;      &amp;lt;TextBlock Text="{Binding Converter={StaticResource currencyConverter}}"/&amp;gt;&lt;br/&gt;    &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrderDetailGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orderdetails}}"&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:Column FieldName="UnitPrice"&lt;br/&gt;                   CellContentTemplate="{StaticResource currency_celltemplate}"/&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Providing a data-row template</title><link>http://xceed.com/CS/forums/thread/28187.aspx</link><pubDate>Thu, 09 Oct 2008 13:34:28 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28187</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28187.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28187</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to provide, through a style, a new ControlTemplate for DataRow objects. The columns that are contained in the grid will be limited to those specified in the ItemProperties of the DataGridCollectionViewSource.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt; &amp;lt;Grid&amp;gt;&lt;br/&gt; &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;   &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_employees"&lt;br/&gt;                                      Source="{Binding Source={x:Static Application.Current}, Path=Employees}"&lt;br/&gt;                                      AutoCreateItemProperties="False"&amp;gt;&lt;br/&gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridCollectionViewSource.ItemProperties&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridItemProperty Name="LastName"/&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridItemProperty Name="FirstName"/&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridItemProperty Name="Photo"/&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridItemProperty Name="Title"/&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridItemProperty Name="Notes"/&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridItemProperty Name="EmployeeID"/&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridItemProperty Name="TitleOfCourtesy"/&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridItemProperty Name="HireDate"/&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridItemProperty Name="Extension"/&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:DataGridCollectionViewSource.ItemProperties&amp;gt;&lt;br/&gt;   &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;ControlTemplate x:Key="titleLessCell"&lt;br/&gt;                    TargetType="xcdg:DataCell"&amp;gt;&lt;br/&gt;     &amp;lt;ContentPresenter Content="{xcdg:CellContentBinding}"&lt;br/&gt;                       ContentTemplate="{TemplateBinding ContentTemplate}"&lt;br/&gt;                       ContentTemplateSelector="{TemplateBinding ContentTemplateSelector}"/&amp;gt;&lt;br/&gt;   &amp;lt;/ControlTemplate&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;Style x:Key="customCardViewDataRow"&lt;br/&gt;          TargetType="{x:Type xcdg:DataRow}"&amp;gt;&lt;br/&gt;     &amp;lt;Setter Property="Background"&lt;br/&gt;             Value="Transparent"/&amp;gt;&lt;br/&gt;     &amp;lt;Setter Property="Template"&amp;gt;&lt;br/&gt;       &amp;lt;Setter.Value&amp;gt;&lt;br/&gt;         &amp;lt;ControlTemplate TargetType="{x:Type xcdg:DataRow}"&amp;gt;&lt;br/&gt;           &amp;lt;Border x:Name="PART_RowFocusRoot"&lt;br/&gt;                   Background="{TemplateBinding Background}"&lt;br/&gt;                   BorderBrush="{TemplateBinding BorderBrush}"&lt;br/&gt;                   BorderThickness="{TemplateBinding BorderThickness}"&lt;br/&gt;                   Padding="{TemplateBinding Padding}"&amp;gt;&lt;br/&gt;             &amp;lt;Grid&amp;gt;&lt;br/&gt;               &amp;lt;StackPanel&amp;gt;&lt;br/&gt;                 &amp;lt;DockPanel&amp;gt;&lt;br/&gt;                   &amp;lt;!-- The photo is at the left. --&amp;gt;&lt;br/&gt;                   &amp;lt;Grid DockPanel.Dock="Left"&lt;br/&gt;                         Margin="3,4,2,2"&lt;br/&gt;                         MaxWidth="85"&lt;br/&gt;                         MaxHeight="85"&amp;gt;&lt;br/&gt;                     &amp;lt;xcdg:DataCell FieldName="Photo"&lt;br/&gt;                                     Template="{StaticResource titleLessCell}"/&amp;gt;&lt;br/&gt;                   &amp;lt;/Grid&amp;gt;&lt;br/&gt;                   &amp;lt;StackPanel Margin="8,0,0,0"&amp;gt;&lt;br/&gt;                     &amp;lt;StackPanel Orientation="Horizontal"&amp;gt;&lt;br/&gt;                       &amp;lt;xcdg:DataCell FieldName="TitleOfCourtesy"&lt;br/&gt;                                      FontSize="16"&lt;br/&gt;                                      Template="{StaticResource titleLessCell}"/&amp;gt;&lt;br/&gt;                       &amp;lt;TextBlock Text=" "/&amp;gt;&lt;br/&gt;                       &amp;lt;xcdg:DataCell FieldName="FirstName"&lt;br/&gt;                                      FontSize="16"&lt;br/&gt;                                      Template="{StaticResource titleLessCell}"/&amp;gt;&lt;br/&gt;                       &amp;lt;TextBlock Text=" "/&amp;gt;&lt;br/&gt;                       &amp;lt;xcdg:DataCell FieldName="LastName"&lt;br/&gt;                                      FontSize="16"&lt;br/&gt;                                      Template="{StaticResource titleLessCell}"/&amp;gt;&lt;br/&gt;                     &amp;lt;/StackPanel&amp;gt;&lt;br/&gt;                      &amp;lt;xcdg:DataCell Field</description></item><item><title>Providing an insertion-row template</title><link>http://xceed.com/CS/forums/thread/28188.aspx</link><pubDate>Thu, 09 Oct 2008 13:34:15 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28188</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28188.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28188</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to provide, through a style, a new InsertionRow template. In order to preserve the fixed-column splitter in the insertion row, we need to use a FixedCellPanel as the "PART_CellsHost" template part.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt; &lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;Style x:Key="insertionrow_style"&lt;br/&gt;          TargetType="{x:Type xcdg:InsertionRow}"&amp;gt;&lt;br/&gt;     &amp;lt;Setter Property="Template"&amp;gt;&lt;br/&gt;       &amp;lt;Setter.Value&amp;gt;&lt;br/&gt;         &amp;lt;ControlTemplate TargetType="{x:Type xcdg:InsertionRow}"&amp;gt;&lt;br/&gt;            &amp;lt;Expander Header="Insert New Data"&amp;gt;&lt;br/&gt;              &amp;lt;Border BorderBrush="LightBlue"&lt;br/&gt;                      BorderThickness="0, 1, 0, 1"&amp;gt;&lt;br/&gt;               &amp;lt;xcdg:FixedCellPanel x:Name="PART_CellsHost"&lt;br/&gt;                  FixedCellCount="{xcdg:ViewBinding FixedColumnCount, Mode=TwoWay}"&lt;br/&gt;                  SplitterStyle="{TemplateBinding xcdg:TableView.FixedColumnSplitterStyle}"&lt;br/&gt;                  SplitterWidth="{xcdg:ViewBinding FixedColumnSplitterWidth}"&lt;br/&gt;                  ShowSplitter="{xcdg:ViewBinding ShowFixedColumnSplitter}"&lt;br/&gt;                  FixedColumnDropMarkPen="{xcdg:ViewBinding FixedColumnDropMarkPen}"&lt;br/&gt;                  realsrc="LightBlue" background="http://dev.xceed.xcd/kb/admin/LightBlue"/&amp;gt;&lt;br/&gt;              &amp;lt;/Border&amp;gt;&lt;br/&gt;            &amp;lt;/Expander&amp;gt;&lt;br/&gt;         &amp;lt;/ControlTemplate&amp;gt;&lt;br/&gt;       &amp;lt;/Setter.Value&amp;gt;&lt;br/&gt;     &amp;lt;/Setter&amp;gt;&lt;br/&gt;   &amp;lt;/Style&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:TableView&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:TableView.FixedFooters&amp;gt;&lt;br/&gt;         &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:InsertionRow Style="{StaticResource insertionrow_style}"/&amp;gt;&lt;br/&gt;         &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:TableView.FixedFooters&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:TableView&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;    &lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Providing a data-cell template</title><link>http://xceed.com/CS/forums/thread/28186.aspx</link><pubDate>Thu, 09 Oct 2008 13:31:57 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28186</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28186.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28186</wfw:commentRss><description>&lt;body&gt;&lt;span&gt;The following example demonstrates how to provide, through a style, a new ControlTemplate for the DataCells that will display the cells as buttons.&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;Style TargetType="{x:Type xcdg:DataCell}"&amp;gt;&lt;br/&gt;      &amp;lt;Setter Property="Template"&amp;gt;&lt;br/&gt;        &amp;lt;Setter.Value&amp;gt;&lt;br/&gt;          &amp;lt;ControlTemplate TargetType="{x:Type xcdg:DataCell}"&amp;gt;&lt;br/&gt;            &amp;lt;Button&amp;gt;&lt;br/&gt;              &amp;lt;Button.Content&amp;gt;&lt;br/&gt;                &amp;lt;ContentPresenter/&amp;gt;&lt;br/&gt;              &amp;lt;/Button.Content&amp;gt;&lt;br/&gt;            &amp;lt;/Button&amp;gt;&lt;br/&gt;          &amp;lt;/ControlTemplate&amp;gt;&lt;br/&gt;        &amp;lt;/Setter.Value&amp;gt;&lt;br/&gt;      &amp;lt;/Setter&amp;gt;&lt;br/&gt;    &amp;lt;/Style&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;   &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                         ItemsSource="{Binding Source={StaticResource cvs_orders}}"/&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Providing a group-header control template</title><link>http://xceed.com/CS/forums/thread/28185.aspx</link><pubDate>Thu, 09 Oct 2008 13:27:54 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28185</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28185.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28185</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to provide, through a style, a new GroupHeaderControl template.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;Style TargetType="{x:Type xcdg:GroupHeaderControl}"&amp;gt;&lt;br/&gt;      &amp;lt;Setter Property="Template"&amp;gt;&lt;br/&gt;        &amp;lt;Setter.Value&amp;gt;&lt;br/&gt;          &amp;lt;ControlTemplate TargetType="{x:Type xcdg:GroupHeaderControl}"&amp;gt;&lt;br/&gt;            &amp;lt;Border realsrc="Orange" background="http://dev.xceed.xcd/kb/admin/Orange" BorderThickness="2"&amp;gt;&lt;br/&gt;              &amp;lt;StackPanel Orientation="Horizontal"&amp;gt;&lt;br/&gt;                &amp;lt;CheckBox IsChecked="{Binding RelativeSource={RelativeSource&lt;br/&gt;                                      TemplatedParent}, Path=Group.IsExpanded}"/&amp;gt;&lt;br/&gt;                &amp;lt;ContentPresenter/&amp;gt;&lt;br/&gt;              &amp;lt;/StackPanel&amp;gt;&lt;br/&gt;            &amp;lt;/Border&amp;gt;&lt;br/&gt;          &amp;lt;/ControlTemplate&amp;gt;&lt;br/&gt;        &amp;lt;/Setter.Value&amp;gt;&lt;br/&gt;      &amp;lt;/Setter&amp;gt;&lt;br/&gt;    &amp;lt;/Style&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                     Source="{Binding Source={x:Static Application.Current}, Path=Orders}"&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridGroupDescription PropertyName="ShipCountry"/&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"/&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Applying a card background brush</title><link>http://xceed.com/CS/forums/thread/28154.aspx</link><pubDate>Thu, 09 Oct 2008 13:15:22 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28154</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28154.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28154</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to apply one of the custom background brushes (provided by Xceed) cards (i.e., data rows) by creating an implicit style that targets DataRow and that sets the background property.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;    &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_products"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=ProductsTable}"/&amp;gt;&lt;br/&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size="1"&gt;      &amp;lt;Style TargetType="{x:Type xcdg:DataRow}"&amp;gt;&lt;br/&gt;         &amp;lt;Setter Property="Background"&lt;br/&gt;                 Value="{x:Static xcdg:CardBackgroundBrushes.Retro}"/&amp;gt;&lt;br/&gt;      &amp;lt;/Style&amp;gt;  &lt;br/&gt;    &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;    &amp;lt;xcdg:DataGridControl x:Name="ProductsGrid"&lt;br/&gt;                          ItemsSource="{Binding Source={StaticResource cvs_products}}"&amp;gt;&lt;br/&gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:Column FieldName="ProductName"&lt;br/&gt;                       IsMainColumn="True"/&amp;gt;&lt;br/&gt;       &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:CardflowView3D CardHeightToViewportRatio="0.5"&amp;gt;&lt;br/&gt;             &amp;lt;xcdg:CardflowView3D.Theme&amp;gt;&lt;br/&gt;                &amp;lt;xcdg:ChameleonTheme/&amp;gt;&lt;br/&gt;             &amp;lt;/xcdg:CardflowView3D.Theme&amp;gt;&lt;br/&gt;          &amp;lt;/xcdg:CardflowView3D&amp;gt;           &lt;br/&gt;       &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt; &amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Centering column titles</title><link>http://xceed.com/CS/forums/thread/28183.aspx</link><pubDate>Thu, 09 Oct 2008 13:15:05 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28183</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28183.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28183</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to center the column titles that are displayed as the content of the corresponding column-manager cells by creating an implicit style that targets the ColumnManagerCell data type and that sets the HorizontalContentAlignment and VerticalContentAlignment properties to Center.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                        Source="{Binding Source={x:Static Application.Current}, Path=Orders}" /&amp;gt;&lt;br/&gt;&lt;br/&gt;     &amp;lt;Style TargetType="{x:Type xcdg:ColumnManagerCell}"&amp;gt;&lt;br/&gt;        &amp;lt;Setter Property="HorizontalContentAlignment"&lt;br/&gt;                Value="Center"/&amp;gt;&lt;br/&gt;        &amp;lt;Setter Property="VerticalContentAlignment"&lt;br/&gt;                Value="Center" /&amp;gt;&lt;br/&gt;     &amp;lt;/Style&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                      ItemsSource="{Binding Source={StaticResource cvs_orders}}" /&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Changing the no-group content</title><link>http://xceed.com/CS/forums/thread/28182.aspx</link><pubDate>Thu, 09 Oct 2008 13:13:56 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28182</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28182.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28182</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to provide an implicit style targeting the HierarchicalGroupByControl class that changes the value of the NoGroupContent property to display "Hello World" rather than "Drag a column header hear to group by that column.".&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&lt;br/&gt;          xmlns:local="clr-namespace:Xceed.Wpf.Documentation"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;   &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                      Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;Style TargetType="{x:Type xcdg:HierarchicalGroupByControl}"&amp;gt;&lt;br/&gt;      &amp;lt;Setter Property="NoGroupContent"&lt;br/&gt;              Value="Hello World" /&amp;gt;&lt;br/&gt;   &amp;lt;/Style&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                      ItemsSource="{Binding Source={StaticResource cvs_orders}}"/&amp;gt;&lt;br/&gt; &lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Providing a detail configuration item-container style</title><link>http://xceed.com/CS/forums/thread/28147.aspx</link><pubDate>Thu, 09 Oct 2008 13:12:24 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28147</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28147.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28147</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to provide an item-container style for the Employee_Orders data relation.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&lt;br/&gt;      xmlns:local="clr-namespace:Xceed.Wpf.Documentation"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_employees"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=Employees}"/&amp;gt;           &lt;br/&gt;   &lt;br/&gt;    &amp;lt;xcdg:IndexToOddConverter x:Key="rowIndexConverter" /&amp;gt;&lt;br/&gt;   &lt;br/&gt;    &amp;lt;Style x:Key="alternatingDataRowStyle" TargetType="{x:Type xcdg:DataRow}"&amp;gt;&lt;br/&gt;      &amp;lt;Style.Triggers&amp;gt;&lt;br/&gt;         &amp;lt;DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},&lt;br/&gt;                                 Path=(xcdg:DataGridVirtualizingPanel.ItemIndex),&lt;br/&gt;                                 Converter={StaticResource rowIndexConverter}}"&lt;br/&gt;                      Value="True"&amp;gt;&lt;br/&gt;            &amp;lt;Setter Property="Background" Value="AliceBlue"/&amp;gt;                    &lt;br/&gt;         &amp;lt;/DataTrigger&amp;gt;&lt;br/&gt;      &amp;lt;/Style.Triggers&amp;gt;&lt;br/&gt;    &amp;lt;/Style&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt; &lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="EmployeesGrid"&lt;br/&gt;                  ItemsSource="{Binding Source={StaticResource cvs_employees}}"&lt;br/&gt;                  AutoCreateDetailConfigurations="True"&amp;gt;   &lt;br/&gt;    &amp;lt;xcdg:DataGridControl.DetailConfigurations&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DetailConfiguration RelationName="Employee_Orders"&lt;br/&gt;                                Title="Employee Orders"&lt;br/&gt;                                ItemContainerStyle="{StaticResource alternatingDataRowStyle}"/&amp;gt;                        &lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.DetailConfigurations&amp;gt;      &lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Hiding the row-selector pane</title><link>http://xceed.com/CS/forums/thread/28162.aspx</link><pubDate>Thu, 09 Oct 2008 13:12:07 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28162</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28162.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28162</wfw:commentRss><description /></item><item><title>Styling row selectors</title><link>http://xceed.com/CS/forums/thread/28181.aspx</link><pubDate>Thu, 09 Oct 2008 13:11:49 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28181</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28181.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28181</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to display a row's visual index in its corresponding row selector by creating a style targeting the RowSelector type that displays the value of its ItemIndex property as its content. The style is then assigned to the RowSelector.RowSelectorStyle attached property, which is set by the implicit DataRow style.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                       Source="{Binding Source={x:Static Application.Current}, Path=Orders}" /&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;Style x:Key="itemIndexSelectorStyle"&lt;br/&gt;           TargetType="{x:Type xcdg:RowSelector}"&amp;gt;&lt;br/&gt;      &amp;lt;Setter Property="Content"&lt;br/&gt;              Value="{Binding RelativeSource={RelativeSource Self}, Path=ItemIndex}"/&amp;gt;&lt;br/&gt;    &amp;lt;/Style&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;Style TargetType="{x:Type xcdg:DataRow}"&amp;gt;&lt;br/&gt;      &amp;lt;Setter Property="xcdg:RowSelector.RowSelectorStyle"&lt;br/&gt;              Value="{StaticResource itemIndexSelectorStyle}" /&amp;gt;&lt;br/&gt;    &amp;lt;/Style&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                            ItemsSource="{Binding Source={StaticResource cvs_orders}}" /&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Forcing items in the fixed headers to occupy all the available width</title><link>http://xceed.com/CS/forums/thread/28180.aspx</link><pubDate>Thu, 09 Oct 2008 13:10:58 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28180</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28180.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28180</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to force the GroupByControl and ColumnManagerRow contained in a grid's fixed header section to occupy all the available width. &lt;br/&gt;&lt;br/&gt;By default, items in the fixed header and footer sections will only span across the width occupied by the columns.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                       Source="{Binding Source={x:Static Application.Current}, Path=Orders}"&lt;br/&gt;                                       AutoCreateItemProperties="False"&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridCollectionViewSource.ItemProperties&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridItemProperty Name="ShipCountry"/&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridItemProperty Name="ShipCity"/&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:DataGridCollectionViewSource.ItemProperties&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;&lt;br/&gt;     &amp;lt;Style TargetType="{x:Type xcdg:GroupHeaderControl}"&amp;gt;&lt;br/&gt;       &amp;lt;Setter Property="MinWidth"&lt;br/&gt;               Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type ScrollContentPresenter}},&lt;br/&gt;                               Path=ActualWidth}"/&amp;gt;&lt;br/&gt;     &amp;lt;/Style&amp;gt;&lt;br/&gt;&lt;br/&gt;     &amp;lt;Style TargetType="{x:Type xcdg:ColumnManagerRow}"&amp;gt;&lt;br/&gt;       &amp;lt;Setter Property="MinWidth"&lt;br/&gt;               Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type ScrollContentPresenter}},&lt;br/&gt;                               Path=ActualWidth}"/&amp;gt;&lt;br/&gt;     &amp;lt;/Style&amp;gt;&lt;br/&gt;    &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                         ItemsSource="{Binding Source={StaticResource cvs_orders}}"/&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Changing the background color of a data row</title><link>http://xceed.com/CS/forums/thread/28179.aspx</link><pubDate>Thu, 09 Oct 2008 13:09:08 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28179</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28179.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28179</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to changed the background color of a DataRow according to the value of one of its cells using DataTriggers.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                       Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;Style TargetType="{x:Type xcdg:DataRow}"&amp;gt;&lt;br/&gt;     &amp;lt;Style.Triggers&amp;gt;&lt;br/&gt;       &amp;lt;DataTrigger Binding="{Binding Path=[EmployeeID]}" Value="1"&amp;gt;&lt;br/&gt;         &amp;lt;Setter Property="Background" Value="Pink"/&amp;gt;&lt;br/&gt;       &amp;lt;/DataTrigger&amp;gt;&lt;br/&gt;       &amp;lt;DataTrigger Binding="{Binding Path=[EmployeeID]}" Value="3"&amp;gt;&lt;br/&gt;         &amp;lt;Setter Property="Background" Value="Blue"/&amp;gt;&lt;br/&gt;       &amp;lt;/DataTrigger&amp;gt;&lt;br/&gt;     &amp;lt;/Style.Triggers&amp;gt;&lt;br/&gt;   &amp;lt;/Style&amp;gt;&lt;br/&gt; &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"/&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Styling a fixed-column splitter</title><link>http://xceed.com/CS/forums/thread/28178.aspx</link><pubDate>Thu, 09 Oct 2008 13:08:22 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28178</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28178.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28178</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to change the style of the data rows' fixed-column splitter.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;     &lt;br/&gt;     &amp;lt;Style x:Key="basicSplitter_style" TargetType="{x:Type xcdg:FixedColumnSplitter}"&amp;gt;&lt;br/&gt;       &amp;lt;Setter Property="Background" Value="LightBlue"/&amp;gt;                              &lt;br/&gt;     &amp;lt;/Style&amp;gt;           &lt;br/&gt;                                                                   &lt;br/&gt;     &amp;lt;Style TargetType="{x:Type xcdg:DataRow}"&amp;gt;&lt;br/&gt;       &amp;lt;Setter Property="xcdg:TableView.FixedColumnSplitterStyle"&lt;br/&gt;               Value="{StaticResource basicSplitter_style}"/&amp;gt;&lt;br/&gt;     &amp;lt;/Style&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:Column FieldName="ShipCountry" VisiblePosition="0"/&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:Column FieldName="ShipCity" VisiblePosition="1"/&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl.View &amp;gt;       &lt;br/&gt;      &amp;lt;xcdg:TableView FixedColumnCount="2"/&amp;gt;       &lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Alternating data-row styles</title><link>http://xceed.com/CS/forums/thread/28177.aspx</link><pubDate>Thu, 09 Oct 2008 13:07:26 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28177</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28177.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28177</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to alternate the appearance of data row styles using the IndexToOddConverter.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:IndexToOddConverter x:Key="rowIndexConverter"/&amp;gt;   &lt;br/&gt;&lt;br/&gt;    &amp;lt;Style TargetType="{x:Type xcdg:DataRow}"&amp;gt;&lt;br/&gt;      &amp;lt;Style.Triggers&amp;gt;&lt;br/&gt;        &amp;lt;DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},&lt;br/&gt;                                       Path=(xcdg:DataGridVirtualizingPanel.ItemIndex),&lt;br/&gt;                                       Converter={StaticResource rowIndexConverter}}"&lt;br/&gt;                               Value="True"&amp;gt;&lt;br/&gt;          &amp;lt;Setter Property="Background"&amp;gt;&lt;br/&gt;            &amp;lt;Setter.Value&amp;gt;&lt;br/&gt;              &amp;lt;SolidColorBrush Color="LightGray"&lt;br/&gt;                               Opacity="0.1"/&amp;gt;&lt;br/&gt;            &amp;lt;/Setter.Value&amp;gt;&lt;br/&gt;          &amp;lt;/Setter&amp;gt;&lt;br/&gt;        &amp;lt;/DataTrigger&amp;gt;&lt;br/&gt;      &amp;lt;/Style.Triggers&amp;gt;&lt;br/&gt;    &amp;lt;/Style&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                   Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Styling data cells</title><link>http://xceed.com/CS/forums/thread/28176.aspx</link><pubDate>Thu, 09 Oct 2008 13:06:33 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28176</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28176.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28176</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to change the foreground and background of the current cell.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;Style TargetType="{x:Type xcdg:DataCell}"&amp;gt;&lt;br/&gt;      &amp;lt;Setter Property="CurrentForeground"&amp;gt;&lt;br/&gt;        &amp;lt;Setter.Value&amp;gt;&lt;br/&gt;          &amp;lt;SolidColorBrush Color="Yellow"/&amp;gt;&lt;br/&gt;        &amp;lt;/Setter.Value&amp;gt;&lt;br/&gt;        &amp;lt;/Setter&amp;gt;&lt;br/&gt;          &amp;lt;Setter Property="CurrentBackground"&amp;gt;&lt;br/&gt;            &amp;lt;Setter.Value&amp;gt;&lt;br/&gt;          &amp;lt;SolidColorBrush Color="Orange"/&amp;gt;&lt;br/&gt;        &amp;lt;/Setter.Value&amp;gt;&lt;br/&gt;      &amp;lt;/Setter&amp;gt;&lt;br/&gt;    &amp;lt;/Style&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;   &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                         ItemsSource="{Binding Source={StaticResource cvs_orders}}"/&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Preventing scrollbars from being displayed</title><link>http://xceed.com/CS/forums/thread/28175.aspx</link><pubDate>Thu, 09 Oct 2008 13:03:36 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28175</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28175.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28175</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to prevent scroll bars from being displayed by providing an implicit style for the TableViewScrollViewer that sets the HorizontalScollBarVisibility and VerticalScrollBarVisibility properties to Hidden.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_persons"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current},  Path=Persons}"/&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;Style TargetType="{x:Type xcdg:TableViewScrollViewer}"&amp;gt;&lt;br/&gt;      &amp;lt;Setter Property="HorizontalScrollBarVisibility"&lt;br/&gt;              Value="Hidden"/&amp;gt;&lt;br/&gt;      &amp;lt;Setter Property="VerticalScrollBarVisibility"&lt;br/&gt;              Value="Hidden"/&amp;gt;&lt;br/&gt;    &amp;lt;/Style&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="PersonGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_persons}}"/&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Displaying a scroll tip</title><link>http://xceed.com/CS/forums/thread/28151.aspx</link><pubDate>Thu, 09 Oct 2008 13:02:37 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28151</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28151.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28151</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to display a scroll tip whose content and location have been modified. &lt;br/&gt;&lt;br/&gt;The "flagConverter" resource represents a converter that is used to return the appropriate BitmapImage according to the value of the ShipCountry cell.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                       Source="{Binding Source={x:Static Application.Current},&lt;br/&gt;                                                        Path=Orders}"&lt;br/&gt;                                       AutoCreateItemProperties="False"&amp;gt;&lt;br/&gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridCollectionViewSource.ItemProperties&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridItemProperty Name="ShipCountry"/&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridItemProperty Name="ShipCity"/&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridItemProperty Name="ShipAddress"/&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridItemProperty Name="ShipPostalCode"/&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridItemProperty Name="ShipName"/&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridItemProperty Name="OrderDate"/&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridItemProperty Name="ShippedDate"/&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridItemProperty Name="Freight"/&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:DataGridCollectionViewSource.ItemProperties&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;local:FlagPathConverter x:Key="flagConverter"/&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;Style TargetType="{x:Type xcdg:ScrollTip}"&amp;gt;&lt;br/&gt;      &amp;lt;Setter Property="HorizontalAlignment"&lt;br/&gt;              Value="Center"/&amp;gt;&lt;br/&gt;      &amp;lt;Setter Property="VerticalAlignment"&lt;br/&gt;              Value="Center"/&amp;gt;&lt;br/&gt;      &amp;lt;Setter Property="Width"&lt;br/&gt;              Value="150"/&amp;gt;&lt;br/&gt;      &amp;lt;Setter Property="Height"&lt;br/&gt;              Value="125"/&amp;gt;&lt;br/&gt;    &amp;lt;/Style&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:Column FieldName="ShipCountry"&lt;br/&gt;                   IsMainColumn="True"&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:Column.CellContentTemplate&amp;gt;&lt;br/&gt;          &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;            &amp;lt;Image Source="{Binding Converter={StaticResource flagConverter}}"&lt;br/&gt;                   StretchDirection="DownOnly"/&amp;gt;&lt;br/&gt;          &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:Column.CellContentTemplate&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:Column&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:TableView ShowScrollTip="True"&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:TableView.ScrollTipContentTemplate&amp;gt;&lt;br/&gt;          &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;            &amp;lt;Grid&amp;gt;&lt;br/&gt;              &amp;lt;Image Source="{Binding Path=[ShipCountry], Converter={StaticResource flagConverter}}"/&amp;gt;&lt;br/&gt;              &amp;lt;TextBlock Text="{Binding Path=[ShipCountry]}"&lt;br/&gt;                         FontSize="14"&lt;br/&gt;                         FontWeight="UltraBold"&lt;br/&gt;                         HorizontalAlignment="Center"&lt;br/&gt;                         VerticalAlignment="Center"/&amp;gt;&lt;br/&gt;           &amp;lt;/Grid&amp;gt;&lt;br/&gt;          &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:TableView.ScrollTipContentTemplate&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:TableView&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Displaying tooltips</title><link>http://xceed.com/CS/forums/thread/28174.aspx</link><pubDate>Thu, 09 Oct 2008 13:02:24 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28174</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28174.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28174</wfw:commentRss><description>&lt;body&gt;&lt;span&gt;The following example demonstrates how to display the entire content of a cell in a tool tip.&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current},  Path=Orders}"/&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;Style TargetType="{x:Type xcdg:DataCell}"&amp;gt;&lt;br/&gt;      &amp;lt;Setter Property="ToolTip"&lt;br/&gt;              Value="{Binding RelativeSource={RelativeSource Self}, Path=Content}"/&amp;gt;&lt;br/&gt;    &amp;lt;/Style&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                       ItemsSource="{Binding Source={StaticResource cvs_orders}}"/&amp;gt;        &lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Providing a simple cell editor</title><link>http://xceed.com/CS/forums/thread/28171.aspx</link><pubDate>Thu, 09 Oct 2008 13:01:00 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28171</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28171.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28171</wfw:commentRss><description>&lt;body&gt;The following examples demonstrates how to change the edit template of the cell editor for the ShipVia column to a Slider control.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:Column FieldName="ShipVia"&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:Column.CellEditor&amp;gt;&lt;br/&gt;         &amp;lt;xcdg:CellEditor&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:CellEditor.EditTemplate&amp;gt;&lt;br/&gt;             &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;               &amp;lt;Slider Value="{xcdg:CellEditorBinding}" Minimum="1" Maximum="3"/&amp;gt;&lt;br/&gt;             &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;           &amp;lt;/xcdg:CellEditor.EditTemplate&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:CellEditor.ActivationGestures&amp;gt;&lt;br/&gt;             &amp;lt;xcdg:KeyActivationGesture Key="Right"/&amp;gt;&lt;br/&gt;             &amp;lt;xcdg:KeyActivationGesture Key="Left"/&amp;gt;&lt;br/&gt;           &amp;lt;/xcdg:CellEditor.ActivationGestures&amp;gt;&lt;br/&gt;         &amp;lt;/xcdg:CellEditor&amp;gt;&lt;br/&gt;       &amp;lt;/xcdg:Column.CellEditor&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:Column&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Providing a complex cell editor</title><link>http://xceed.com/CS/forums/thread/28172.aspx</link><pubDate>Thu, 09 Oct 2008 13:00:48 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28172</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28172.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28172</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to change the edit template of the cell editor for the Freight column to a custom calculator control. The C# code for the Calculate method called in the buttons' Click event simply calculates the new equation and is not provided. To shorten the code, some of the Button and KeyActivationGesture declarations have been removed.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                         ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:Column FieldName="Freight"&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:Column.CellEditor&amp;gt;&lt;br/&gt;              &amp;lt;xcdg:CellEditor&amp;gt;&lt;br/&gt;                 &amp;lt;xcdg:CellEditor.EditTemplate&amp;gt;&lt;br/&gt;                    &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;                        &amp;lt;DockPanel&amp;gt;&lt;br/&gt;                           &amp;lt;TextBlock x:Name="actual_value"&lt;br/&gt;                                     Text="{xcdg:CellEditorBinding}"&lt;br/&gt;                                      DockPanel.Dock="Top"/&amp;gt;&lt;br/&gt;                           &amp;lt;UniformGrid Columns="4" x:Name="parentPanel"&lt;br/&gt;                                        Tag="{Binding ElementName=actual_value,&lt;br/&gt;                                                      Path=Text,&lt;br/&gt;                                                      Mode=TwoWay,&lt;br/&gt;                                                      UpdateSourceTrigger=PropertyChanged}"&lt;br/&gt;                                        Button.Click="Calculate"&lt;br/&gt;                                        DockPanel.Dock="Top"&amp;gt;&lt;br/&gt;                              &amp;lt;Button x:Name="seven" Content="7"/&amp;gt;&lt;br/&gt;                              &amp;lt;!-- ... --&amp;gt;&lt;br/&gt;                              &amp;lt;Button x:Name="addition" Content="+"/&amp;gt;&lt;br/&gt;                           &amp;lt;/UniformGrid&amp;gt;&lt;br/&gt;                           &amp;lt;TextBlock x:Name="current_equation" DockPanel.Dock="Bottom"/&amp;gt;&lt;br/&gt;                         &amp;lt;/DockPanel&amp;gt;&lt;br/&gt;                     &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;                 &amp;lt;/xcdg:CellEditor.EditTemplate&amp;gt;&lt;br/&gt;                 &amp;lt;xcdg:CellEditor.ActivationGestures&amp;gt;&lt;br/&gt;                    &amp;lt;xcdg:KeyActivationGesture Key="NumPad0"/&amp;gt;&lt;br/&gt;                    &amp;lt;!-- ... --&amp;gt;&lt;br/&gt;                    &amp;lt;xcdg:KeyActivationGesture Key="NumPad9"/&amp;gt;&lt;br/&gt;                 &amp;lt;/xcdg:CellEditor.ActivationGestures&amp;gt;&lt;br/&gt;              &amp;lt;/xcdg:CellEditor&amp;gt;&lt;br/&gt;           &amp;lt;/xcdg:Column.CellEditor&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:Column&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;   &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;&lt;br/&gt;&lt;/body&gt;</description></item><item><title>Providing a default cell editor</title><link>http://xceed.com/CS/forums/thread/28173.aspx</link><pubDate>Thu, 09 Oct 2008 13:00:35 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28173</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28173.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28173</wfw:commentRss><description>&lt;body&gt;&lt;span&gt;The following example demonstrates how to provide a default cell editor for columns that have an Int32 data type.&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&lt;br/&gt;      xmlns:s="clr-namespace:System;assembly=mscorlib"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;   &amp;lt;xcdg:DataGridControl.DefaultCellEditors&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:CellEditor x:Key="{x:Type s:Int32}"&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:CellEditor.EditTemplate&amp;gt;&lt;br/&gt;         &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;           &amp;lt;Slider Value="{xcdg:CellEditorBinding}"/&amp;gt;&lt;br/&gt;         &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;       &amp;lt;/xcdg:CellEditor.EditTemplate&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:CellEditor&amp;gt;&lt;br/&gt;   &amp;lt;/xcdg:DataGridControl.DefaultCellEditors&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Changing a title-region position</title><link>http://xceed.com/CS/forums/thread/28169.aspx</link><pubDate>Thu, 09 Oct 2008 12:35:49 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28169</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28169.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28169</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to change the position of the title-surface configuration's title region. 
&lt;p&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_employees"&lt;br/&gt;                                   Source="{Binding Source={x:Static Application.Current}, Path=EmployeesTable}"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="EmployeesGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_employees}}"&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:CardflowView3D&amp;gt;  &lt;br/&gt;         &amp;lt;xcdg:CardflowView3D.Theme&amp;gt;&lt;br/&gt;              &amp;lt;xcdg:ElementalBlackTheme&amp;gt;&lt;br/&gt;                 &amp;lt;!-- The DefaultTitleRegionConfiguration will be applied to all title regions in all surfaces&lt;br/&gt;                      for which a RegionConfiguration has not been explicitly provided. --&amp;gt;&lt;br/&gt;                 &amp;lt;xcdg:ElementalBlackTheme.DefaultTitleRegionConfiguration&amp;gt;&lt;br/&gt;                    &amp;lt;xcdg:RegionConfiguration FieldNames="FirstName, LastName"&lt;br/&gt;                                              ShowCellTitles="False"&lt;br/&gt;                                              ReadOnly="True"&amp;gt;&lt;br/&gt;                       &amp;lt;xcdg:RegionConfiguration.Template&amp;gt;&lt;br/&gt;                          &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;                             &amp;lt;!-- In this example, a fixed font size is not ideal since we don't&lt;br/&gt;                                  know the final size of a card and we want the font size of the Title&lt;br/&gt;                                  to vary along with the card size; therefore, we will place everything&lt;br/&gt;                                  in a Viewbox, which will handle everything. --&amp;gt;&lt;br/&gt;                             &amp;lt;Viewbox&amp;gt;&lt;br/&gt;                                &amp;lt;!-- Using a Viewbox will stretch each title according to its&lt;br/&gt;                                     content resulting in titles that can be of various sizes.&lt;br/&gt;                                     This result may not always be esthetically pleasing and can&lt;br/&gt;                                     also produce perspective problems (optical illusions).&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;                                     Giving the root element of the Viewbox an arbitrary width&lt;br/&gt;                                     will correct this undesirable behavior. This size of 125 was&lt;br/&gt;                                     determined by trial and error using our data source and it may&lt;br/&gt;                                     be appropriate to change it according to the data. --&amp;gt;&lt;br/&gt;                                &amp;lt;Grid Width="125"&amp;gt;&lt;br/&gt;                                   &amp;lt;!-- This grid is used to center the title when its desired&lt;br/&gt;                                        width is less than 100. --&amp;gt;&lt;br/&gt;                                   &amp;lt;Grid.ColumnDefinitions&amp;gt;&lt;br/&gt;                                      &amp;lt;ColumnDefinition Width="*"/&amp;gt;&lt;br/&gt;                                      &amp;lt;ColumnDefinition Width="Auto"/&amp;gt;&lt;br/&gt;                                      &amp;lt;ColumnDefinition Width="*"/&amp;gt;&lt;br/&gt;                                   &amp;lt;/Grid.ColumnDefinitions&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;                                   &amp;lt;StackPanel Orientation="Horizontal"&lt;br/&gt;                                               Grid.Column="1"&amp;gt;&lt;br/&gt;                                      &amp;lt;xcdg:DataCell FieldName="FirstName"&lt;br/&gt;                                                     Margin="0, 0, 3, 0"/&amp;gt;&lt;br/&gt;                                      &amp;lt;xcdg:DataCell FieldName="LastName"/&amp;gt;&lt;br/&gt;                                   &amp;lt;/StackPanel&amp;gt;&lt;br/&gt;                                &amp;lt;/Grid&amp;gt;&lt;br/&gt;      </description></item><item><title>Setting a multi-surface theme</title><link>http://xceed.com/CS/forums/thread/28168.aspx</link><pubDate>Thu, 09 Oct 2008 12:35:17 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28168</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28168.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28168</wfw:commentRss><description>&lt;body&gt;&lt;span&gt;The following example demonstrates how to set a multi-surface theme using property element syntax.&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;   &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_employees"&lt;br/&gt;                                   Source="{Binding Source={x:Static Application.Current}, Path=EmployeesTable}"/&amp;gt;&lt;br/&gt;   &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;xcdg:DataGridControl x:Name="EmployeesGrid"&lt;br/&gt;                         ItemsSource="{Binding Source={StaticResource cvs_employees}}"&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:CardflowView3D&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:CardflowView3D.Theme&amp;gt;&lt;br/&gt;              &amp;lt;xcdg:ChameleonTheme/&amp;gt;&lt;br/&gt;           &amp;lt;/xcdg:CardflowView3D.Theme&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:CardflowView3D&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;   &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Defining region configurations</title><link>http://xceed.com/CS/forums/thread/28167.aspx</link><pubDate>Thu, 09 Oct 2008 12:34:50 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28167</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28167.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28167</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to define default and explicit region configurations.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_employees"&lt;br/&gt;                                     Source="{Binding Source={x:Static Application.Current}, Path=EmployeesTable}"&lt;br/&gt;                                        AutoCreateItemProperties="False"&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridCollectionViewSource.ItemProperties&amp;gt;&lt;br/&gt;           &amp;lt;!--Will be explicitly positioned in the default "Title" region.--&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:DataGridItemProperty Name="Title"/&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:DataGridItemProperty Name="FirstName"/&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:DataGridItemProperty Name="LastName"/&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:DataGridItemProperty Name="TitleOfCourtesy"/&amp;gt;&lt;br/&gt;&lt;br/&gt;           &amp;lt;!--Will be automatically detected as containing an image and displayed in the "Image" region.--&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:DataGridItemProperty Name="Photo"/&amp;gt;&lt;br/&gt;&lt;br/&gt;           &amp;lt;!--Will appear in the "Data" region. There is no need to explicitly position them as, by default,&lt;br/&gt;                the "Data" region displays information from the fields that have not been explicitly&lt;br/&gt;                assigned to another region.--&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:DataGridItemProperty Name="EmployeeID"&lt;br/&gt;                                      Title="Employee Identification #"/&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:DataGridItemProperty Name="Address"/&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:DataGridItemProperty Name="City"/&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:DataGridItemProperty Name="Country"/&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:DataGridItemProperty Name="PostalCode"&lt;br/&gt;                                      Title="Postal Code"/&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:DataGridItemProperty Name="HomePhone"&lt;br/&gt;                                      Title="Home Phone Number"/&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:DataGridItemProperty Name="BirthDate"&lt;br/&gt;                                      Title="Date of Birth"/&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:DataGridCollectionViewSource.ItemProperties&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;    &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt; &lt;br/&gt;    &amp;lt;xcdg:DataGridControl x:Name="EmployeesGrid"&lt;br/&gt;                          ItemsSource="{Binding Source={StaticResource cvs_employees}}"&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:CardflowView3D&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:CardflowView3D.Theme&amp;gt;&lt;br/&gt;              &amp;lt;xcdg:ElementalBlackTheme&amp;gt;&lt;br/&gt;                &amp;lt;!-- The DefaultTitleRegionConfiguration will be applied to all title regions in all surfaces&lt;br/&gt;                     for which a RegionConfiguration has not been explicitly provided. --&amp;gt;&lt;br/&gt;                &amp;lt;xcdg:ElementalBlackTheme.DefaultTitleRegionConfiguration&amp;gt;&lt;br/&gt;                   &amp;lt;xcdg:RegionConfiguration FieldNames="TitleOfCourtesy, FirstName, LastName, Title"&lt;br/&gt;                                             ReadOnly="True"&amp;gt;&lt;br/&gt;                      &amp;lt;xcdg:RegionConfiguration.Template&amp;gt;&lt;br/&gt;                         &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;                            &amp;lt;Viewbox&amp;gt;&lt;br/&gt;                               &amp;lt;StackPanel&amp;gt;&lt;br/&gt;                                  &amp;lt;StackPanel Orientation="Horizontal"&lt;br/&gt;                                              HorizontalAlignment="Center"&amp;gt;&lt;br/&gt;                                     &amp;lt;StackPanel.Resources&amp;gt;&lt;br/&gt;                                        &amp;lt;Style TargetType="{x:Type xcdg:DataCell}"&amp;gt;&lt;br/&gt;                                           &amp;lt;Setter Property="Margin"&lt;br/&gt;                                                   Value="0, 0, 3, 0"/&amp;gt;&lt;br/&gt;                                        &amp;lt;/Style&amp;gt;&lt;br/&gt;                                     &amp;</description></item><item><title>Providing a default region configuration</title><link>http://xceed.com/CS/forums/thread/28166.aspx</link><pubDate>Thu, 09 Oct 2008 12:34:15 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28166</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28166.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28166</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to provide a default title-region configuration that will be used by all surfaces that display a title.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;   &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_employees"&lt;br/&gt;                                   Source="{Binding Source={x:Static Application.Current}, Path=EmployeesTable}"/&amp;gt; &lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt; &lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="EmployeesGrid"&lt;br/&gt;                      ItemsSource="{Binding Source={StaticResource cvs_employees}}"&amp;gt;&lt;br/&gt; &lt;br/&gt;   &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:CardflowView3D&amp;gt;&lt;br/&gt;         &amp;lt;xcdg:CardflowView3D.Theme&amp;gt;&lt;br/&gt;            &amp;lt;xcdg:ElementalBlackTheme&amp;gt;&lt;br/&gt;              &amp;lt;!-- The DefaultTitleRegionConfiguration will be applied to all title regions in all surfaces&lt;br/&gt;                   for which a RegionConfiguration has not been explicitly provided. --&amp;gt;&lt;br/&gt;              &amp;lt;xcdg:ElementalBlackTheme.DefaultTitleRegionConfiguration&amp;gt;&lt;br/&gt;                 &amp;lt;xcdg:RegionConfiguration FieldNames="TitleOfCourtesy, FirstName, LastName, Title"&lt;br/&gt;                                           ReadOnly="True"&amp;gt;&lt;br/&gt;                    &amp;lt;xcdg:RegionConfiguration.Template&amp;gt;&lt;br/&gt;                       &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;                          &amp;lt;Viewbox&amp;gt;&lt;br/&gt;                             &amp;lt;StackPanel&amp;gt;&lt;br/&gt;                                &amp;lt;StackPanel Orientation="Horizontal"&lt;br/&gt;                                            HorizontalAlignment="Center"&amp;gt;&lt;br/&gt;                                   &amp;lt;StackPanel.Resources&amp;gt;&lt;br/&gt;                                      &amp;lt;Style TargetType="{x:Type xcdg:DataCell}"&amp;gt;&lt;br/&gt;                                         &amp;lt;Setter Property="Margin"&lt;br/&gt;                                                 Value="0, 0, 3, 0"/&amp;gt;&lt;br/&gt;                                      &amp;lt;/Style&amp;gt;&lt;br/&gt;                                   &amp;lt;/StackPanel.Resources&amp;gt;&lt;br/&gt;                                   &amp;lt;xcdg:DataCell FieldName="TitleOfCourtesy"/&amp;gt;&lt;br/&gt;                                   &amp;lt;xcdg:DataCell FieldName="FirstName"/&amp;gt;&lt;br/&gt;                                   &amp;lt;xcdg:DataCell FieldName="LastName"/&amp;gt;&lt;br/&gt;                                &amp;lt;/StackPanel&amp;gt;&lt;br/&gt;                                &amp;lt;xcdg:DataCell FieldName="Title"&lt;br/&gt;                                               TextElement.FontSize="10"&lt;br/&gt;                                               HorizontalContentAlignment="Center"/&amp;gt;&lt;br/&gt;                             &amp;lt;/StackPanel&amp;gt;&lt;br/&gt;                          &amp;lt;/Viewbox&amp;gt;&lt;br/&gt;                       &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;                    &amp;lt;/xcdg:RegionConfiguration.Template&amp;gt;&lt;br/&gt;                 &amp;lt;/xcdg:RegionConfiguration&amp;gt;&lt;br/&gt;              &amp;lt;/xcdg:ElementalBlackTheme.DefaultTitleRegionConfiguration&amp;gt;&lt;br/&gt;            &amp;lt;/xcdg:ElementalBlackTheme&amp;gt;&lt;br/&gt;         &amp;lt;/xcdg:CardflowView3D.Theme&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:CardflowView3D&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Providing new gradient colors</title><link>http://xceed.com/CS/forums/thread/28170.aspx</link><pubDate>Thu, 09 Oct 2008 12:32:42 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28170</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28170.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28170</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to change the gradient applied to the card surfaces when using the Chameleon theme.&lt;br/&gt;&lt;br/&gt;&lt;img src="http://doc.xcd/XceedWpfDataGrid/images/GradientColors_thumb.png"/&gt;&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;    &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_employees"&lt;br/&gt;                                   Source="{Binding Source={x:Static Application.Current}, Path=EmployeesTable}"/&amp;gt;&lt;br/&gt;    &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl x:Name="EmployeesGrid"&lt;br/&gt;                          ItemsSource="{Binding Source={StaticResource cvs_employees}}"&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:Column FieldName="LastName" IsMainColumn="True"/&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:Column FieldName="Notes" Visible="False"/&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:Column FieldName="ReportsTo" Visible="False"/&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:Column FieldName="StillEmployed" Visible="False"/&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:Column FieldName="TitleOfCourtesy" Visible="False"/&amp;gt;&lt;br/&gt;       &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:CardflowView3D&amp;gt;&lt;br/&gt;            &amp;lt;xcdg:CardflowView3D.Theme&amp;gt;&lt;br/&gt;               &amp;lt;xcdg:ChameleonTheme GradientLightColor="Pink"&lt;br/&gt;                                    GradientDarkColor="Purple"&amp;gt;                 &lt;br/&gt;               &amp;lt;/xcdg:ChameleonTheme&amp;gt;                 &lt;br/&gt;            &amp;lt;/xcdg:CardflowView3D.Theme&amp;gt;&lt;br/&gt;          &amp;lt;/xcdg:CardflowView3D&amp;gt;&lt;br/&gt;       &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt; &amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Stretching columns</title><link>http://xceed.com/CS/forums/thread/28165.aspx</link><pubDate>Wed, 08 Oct 2008 20:27:14 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28165</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28165.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28165</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to stretch all the columns in a grid equally so that they occupy the full width available in the viewport.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;   &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                         Source="{Binding Source={x:Static Application.Current}, Path=Orders}"&lt;br/&gt;                                         AutoCreateItemProperties="False"&amp;gt;&lt;br/&gt;         &amp;lt;xcdg:DataGridCollectionViewSource.ItemProperties&amp;gt;&lt;br/&gt;            &amp;lt;xcdg:DataGridItemProperty Name="ShipCountry" /&amp;gt;&lt;br/&gt;            &amp;lt;xcdg:DataGridItemProperty Name="ShipCity" /&amp;gt;&lt;br/&gt;            &amp;lt;xcdg:DataGridItemProperty Name="ShipRegion" /&amp;gt;&lt;br/&gt;            &amp;lt;xcdg:DataGridItemProperty Name="ShipVia" /&amp;gt;&lt;br/&gt;         &amp;lt;/xcdg:DataGridCollectionViewSource.ItemProperties&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;   &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                         ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;         &amp;lt;xcdg:TableView ColumnStretchMode="All"&lt;br/&gt;                         ColumnStretchMinWidth="100"/&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;   &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Using routed view properties</title><link>http://xceed.com/CS/forums/thread/28149.aspx</link><pubDate>Wed, 08 Oct 2008 20:26:17 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28149</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28149.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28149</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to set routed view properties on detail configurations to change the width of their detail indicators as well as to fix columns and remove the fixed-column splitter.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&lt;br/&gt;      xmlns:local="clr-namespace:Xceed.Wpf.Documentation"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_employees"&lt;br/&gt;                                        Source="{Binding Source={x:Static Application.Current}, Path=Employees}" /&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="EmployeesGrid"&lt;br/&gt;                      ItemsSource="{Binding Source={StaticResource cvs_employees}}"&lt;br/&gt;                      AutoCreateDetailConfigurations="True"&amp;gt;&lt;br/&gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:Column FieldName="Photo"&lt;br/&gt;                     Visible="False" /&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridControl.DetailConfigurations&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DetailConfiguration RelationName="Employee_Orders"&lt;br/&gt;                                  Title="Employee Orders"&lt;br/&gt;                                  xcdg:TableView.DetailIndicatorWidth="50"&lt;br/&gt;                                  xcdg:TableView.FixedColumnCount="2"&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:DetailConfiguration.Columns&amp;gt;&lt;br/&gt;              &amp;lt;xcdg:Column FieldName="EmployeeID"&lt;br/&gt;                           Visible="False" /&amp;gt;&lt;br/&gt;           &amp;lt;/xcdg:DetailConfiguration.Columns&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:DetailConfiguration.DetailConfigurations&amp;gt;&lt;br/&gt;              &amp;lt;xcdg:DetailConfiguration RelationName="Order_OrderDetails"&lt;br/&gt;                                        Title="Order Details"&lt;br/&gt;                                        xcdg:TableView.ShowFixedColumnSplitter="False"&lt;br/&gt;                                        xcdg:TableView.DetailIndicatorWidth="50"/&amp;gt;&lt;br/&gt;           &amp;lt;/xcdg:DetailConfiguration.DetailConfigurations&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:DetailConfiguration&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:DataGridControl.DetailConfigurations&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Allowing horizontal scrolling</title><link>http://xceed.com/CS/forums/thread/28164.aspx</link><pubDate>Wed, 08 Oct 2008 20:26:02 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28164</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28164.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28164</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to prevent horizontal scrolling of the group-by control in the fixed header section.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                       Source="{Binding Source={x:Static Application.Current}, Path=Orders}"&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridGroupDescription PropertyName="ShipCountry"/&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:TableView UseDefaultHeadersFooters="False"&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:TableView.FixedHeaders&amp;gt;&lt;br/&gt;          &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;            &amp;lt;xcdg:GroupByControl xcdg:TableView.CanScrollHorizontally="True"/&amp;gt;&lt;br/&gt;          &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;          &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;            &amp;lt;xcdg:ColumnManagerRow/&amp;gt;&lt;br/&gt;          &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:TableView.FixedHeaders&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:TableView&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Changing the main (primary) column</title><link>http://xceed.com/CS/forums/thread/28158.aspx</link><pubDate>Wed, 08 Oct 2008 20:25:12 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28158</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28158.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28158</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to set the ShipName column as a grid's main column. &lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;   &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                         ItemsSource="{Binding Source={StaticResource cvs_orders}}"&lt;br/&gt;                         View="CardView"&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:Column FieldName="ShipName" IsMainColumn="True"/&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;   &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Fixing columns</title><link>http://xceed.com/CS/forums/thread/28163.aspx</link><pubDate>Wed, 08 Oct 2008 20:24:56 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28163</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28163.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28163</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to fix the ShipCountry and ShipCity columns.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                         ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;         &amp;lt;xcdg:Column FieldName="ShipCountry" VisiblePosition="0"/&amp;gt;&lt;br/&gt;         &amp;lt;xcdg:Column FieldName="ShipCity" VisiblePosition="1"/&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:TableView FixedColumnCount="2"/&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;   &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Hiding the group-level indicator pane</title><link>http://xceed.com/CS/forums/thread/28161.aspx</link><pubDate>Wed, 08 Oct 2008 20:22:34 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28161</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28161.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28161</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to hide the group-level indicator pane by creating a style which sets the Visibility property of GroupLevelIndicatorPane objects to Collapsed.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;     &amp;lt;Style TargetType="{x:Type xcdg:GroupLevelIndicatorPane}"&amp;gt;&lt;br/&gt;       &amp;lt;Setter Property="Visibility" Value="Collapsed"/&amp;gt;&lt;br/&gt;     &amp;lt;/Style&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=Orders}"&amp;gt;&lt;br/&gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridGroupDescription PropertyName="ShipCountry"/&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"/&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Adding separator lines</title><link>http://xceed.com/CS/forums/thread/28159.aspx</link><pubDate>Wed, 08 Oct 2008 20:21:42 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28159</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28159.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28159</wfw:commentRss><description>The following examples demonstrates how to add separator lines between card "columns".&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;&amp;nbsp; &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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; ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:CardView&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:CardView.SeparatorLinePen&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Pen Thickness="1.5" Brush="Orange"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DashStyle="{x:Static DashStyles.DashDotDot}"/&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xcdg:CardView.SeparatorLinePen&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xcdg:CardView&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description></item><item><title>Recreating the default card-view header</title><link>http://xceed.com/CS/forums/thread/28160.aspx</link><pubDate>Wed, 08 Oct 2008 20:19:34 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28160</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28160.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28160</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to recreate the default card-view header, which contains a ColumnManagerRow to the right of a GroupByControl.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                       Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:CardView UseDefaultHeadersFooters="False"&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:CardView.FixedHeaders&amp;gt;&lt;br/&gt;         &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;           &amp;lt;DockPanel&amp;gt;&lt;br/&gt;             &amp;lt;!-- OneWay binding is used because we want the ColumnManagerRow's height to&lt;br/&gt;                  follow what is defined by the GroupByControl. A FallbackValue&lt;br/&gt;                  is specified so the initial measure pass has an acceptable minimal&lt;br/&gt;                  value.--&amp;gt;&lt;br/&gt;             &amp;lt;xcdg:ColumnManagerRow DockPanel.Dock="Right"&lt;br/&gt;                                    Height="{Binding ElementName=groupByControl,&lt;br/&gt;                                                     Path=ActualHeight,&lt;br/&gt;                                                     Mode=OneWay,&lt;br/&gt;                                                     FallbackValue=60}"/&amp;gt;&lt;br/&gt;             &amp;lt;xcdg:GroupByControl x:Name="groupByControl"/&amp;gt;&lt;br/&gt;           &amp;lt;/DockPanel&amp;gt;&lt;br/&gt;         &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:CardView.FixedHeaders&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:CardView&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Clearing a fixed header section</title><link>http://xceed.com/CS/forums/thread/28157.aspx</link><pubDate>Wed, 08 Oct 2008 20:17:01 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28157</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28157.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28157</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to clear the content of all header and footer sections of a grid using its view's UseDefaultHeadersFooters property.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;   &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                         ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;         &amp;lt;xcdg:CardView UseDefaultHeadersFooters="False"/&amp;gt;&lt;br/&gt;       &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;   &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Adding an InsertionRow to the fixed headers</title><link>http://xceed.com/CS/forums/thread/28156.aspx</link><pubDate>Wed, 08 Oct 2008 20:16:17 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28156</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28156.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28156</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to add an InsertionRow to the fixed header section of a grid.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                     Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;   &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                         ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;         &amp;lt;xcdg:TableView&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:TableView.FixedHeaders&amp;gt;&lt;br/&gt;              &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;                 &amp;lt;xcdg:InsertionRow/&amp;gt;&lt;br/&gt;              &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;           &amp;lt;/xcdg:TableView.FixedHeaders&amp;gt;&lt;br/&gt;         &amp;lt;/xcdg:TableView&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;   &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Coercing a surface configuration</title><link>http://xceed.com/CS/forums/thread/28155.aspx</link><pubDate>Wed, 08 Oct 2008 20:13:56 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28155</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28155.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28155</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to apply a different surface configuration on the back surface of the center card using the CoercedSurfaceConfiguration attached property.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="1"&gt;VB.NET&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;Private m_fullSurfaceConfiguration As New ImageAndDataSurfaceConfiguration()&lt;br/&gt;&lt;br/&gt;Private Sub ApplyCoercedSurfaceConfiguration( ByVal sender As Object, ByVal e As RoutedEventArgs )&lt;br/&gt;  If Not Me.ProductsGrid.CurrentItem Is Nothing Then&lt;br/&gt;    Dim card As Xceed.Wpf.DataGrid.DataRow = CType( Me.ProductsGrid.GetContainerFromItem( Me.ProductsGrid.CurrentItem ), Xceed.Wpf.DataGrid.DataRow )&lt;br/&gt;&lt;br/&gt;    If Not card Is Nothing Then&lt;br/&gt;       card.SetValue( MultiSurfaceViewBase.CoercedSurfaceConfigurationProperty, m_fullSurfaceConfiguration )&lt;br/&gt;    End If&lt;br/&gt;  End If&lt;br/&gt;End Sub&lt;br/&gt;&lt;/font&gt;&lt;strong&gt;&lt;br/&gt;&lt;font size="1"&gt;C#&lt;br/&gt;&lt;/font&gt;&lt;/strong&gt;&lt;br/&gt;&lt;font size="1"&gt;private ImageAndDataSurfaceConfiguration m_fullSurfaceConfiguration = new ImageAndDataSurfaceConfiguration();&lt;br/&gt;private void ApplyCoercedSurfaceConfiguration( object sender, RoutedEventArgs e )&lt;br/&gt;{&lt;br/&gt;  if( this.ProductsGrid.CurrentItem != null )&lt;br/&gt;  {&lt;br/&gt;   Xceed.Wpf.DataGrid.DataRow card = this.ProductsGrid.GetContainerFromItem( this.ProductsGrid.CurrentItem ) as Xceed.Wpf.DataGrid.DataRow;&lt;br/&gt;&lt;br/&gt;   if( card != null )&lt;br/&gt;   {&lt;br/&gt;     card.SetValue( MultiSurfaceViewBase.CoercedSurfaceConfigurationProperty, m_fullSurfaceConfiguration );&lt;br/&gt;   }&lt;br/&gt;  }&lt;br/&gt;}&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;&lt;span&gt;The following XAML demonstrates how to define the initial surface configurations that are applied to various surfaces.&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;     &lt;br/&gt;  &amp;lt;Grid.RowDefinitions&amp;gt;&lt;br/&gt;     &amp;lt;RowDefinition Height="Auto"/&amp;gt;&lt;br/&gt;     &amp;lt;RowDefinition/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.RowDefinitions&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;    &lt;br/&gt;     &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_products"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=ProductsTable}"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt; &amp;lt;Button Content="Coerce Surface Configuration"&lt;br/&gt;         Click="ApplyCoercedSurfaceConfiguration"&lt;br/&gt;         Grid.Row="0"/&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="ProductsGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_products}}"&lt;br/&gt;                        Grid.Row="1"&amp;gt;&lt;br/&gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:Column FieldName="ProductName"&lt;br/&gt;                     IsMainColumn="True"/&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:CardflowView3D CardHeightToViewportRatio="0.5"&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:CardflowView3D.Theme&amp;gt;&lt;br/&gt;             &amp;lt;xcdg:ElementalBlackTheme&amp;gt;&lt;br/&gt;                &amp;lt;xcdg:ElementalBlackTheme.SurfaceConfigurations&amp;gt;&lt;br/&gt;                   &amp;lt;xcdg:ImageSurfaceConfiguration xcdg:CardflowView3D.Surfaces="Left, Right"/&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;                   &amp;lt;xcdg:ImageAndTitleSurfaceConfiguration xcdg:CardflowView3D.Surfaces="Center"/&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;                   &amp;lt;xcdg:CompleteSurfaceConfiguration xcdg:CardflowView3D.Surfaces="Back"&lt;br/&gt;                                                      AutoFillDefaultRegion="False"&amp;gt;&lt;br/&gt;                      &amp;lt;xcdg:CompleteSurfaceConfiguration.DataRegionConfiguration&amp;gt;&lt;br/&gt;                         &amp;lt;xcdg:RegionConfiguration FieldNames="ProductID, UnitPrice, UnitsInStock"/&amp;gt;&lt;br/&gt;                      &amp;lt;/xcdg:CompleteSurfaceConfiguration.DataRegionConfiguration&amp;gt;                   </description></item><item><title>Applying a grid background brush</title><link>http://xceed.com/CS/forums/thread/28153.aspx</link><pubDate>Wed, 08 Oct 2008 20:13:38 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28153</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28153.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28153</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to apply a one of the custom background brushes (provided by Xceed) to a grid's background.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;    &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_products"&lt;br/&gt;                                       Source="{Binding Source={x:Static Application.Current}, Path=ProductsTable}"/&amp;gt;      &lt;br/&gt;    &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;xcdg:DataGridControl x:Name="ProductsGrid"&lt;br/&gt;                         ItemsSource="{Binding Source={StaticResource cvs_products}}"&lt;br/&gt;                         Background="{x:Static xcdg:DataGridControlBackgroundBrushes.AuroraRed}"&amp;gt;     &lt;br/&gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:Column FieldName="ProductName"&lt;br/&gt;                       IsMainColumn="True"/&amp;gt;&lt;br/&gt;       &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;          &amp;lt;!-- In Cardflow 3D view, if a theme is not explicitly specified,&lt;br/&gt;               the Elemental Black theme will be used. --&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:CardflowView3D CardHeightToViewportRatio="0.5"/&amp;gt;&lt;br/&gt;       &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt; &amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Providing surface configurations</title><link>http://xceed.com/CS/forums/thread/28152.aspx</link><pubDate>Wed, 08 Oct 2008 20:13:19 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28152</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28152.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28152</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to provide an image and title surface configuration that will be applied to the center surface and a title surface configuration that will be applied to the left and right side cards.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_employees"&lt;br/&gt;                              Source="{Binding Source={x:Static Application.Current}, Path=EmployeesTable}"/&amp;gt; &lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt; &lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="EmployeesGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_employees}}"&amp;gt;&lt;br/&gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:Column FieldName="LastName"&lt;br/&gt;                     IsMainColumn="True"/&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:CardflowView3D&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:CardflowView3D.Theme&amp;gt;&lt;br/&gt;             &amp;lt;xcdg:ElementalBlackTheme&amp;gt;&lt;br/&gt;                &amp;lt;xcdg:ElementalBlackTheme.SurfaceConfigurations&amp;gt;&lt;br/&gt;                   &amp;lt;!-- Because an attempt is made to automatically detect an image in the data&lt;br/&gt;                        item, there is no need to specify the name of the field that contains&lt;br/&gt;                        the image in the surface configuration's ImageRegionConfiguration.&lt;br/&gt;                       &lt;br/&gt;                        If a data item contains more than one image you can set the FieldNames&lt;br/&gt;                        property of the ImageRegionConfiguration to the name of the field that&lt;br/&gt;                        contains the desired image. --&amp;gt;&lt;br/&gt;                   &amp;lt;xcdg:ImageAndTitleSurfaceConfiguration xcdg:CardflowView3D.Surfaces="Center"/&amp;gt;&lt;br/&gt;                  &lt;br/&gt;                   &amp;lt;!-- By default, the value of the main column will be displayed in the title regions. --&amp;gt;&lt;br/&gt;                   &amp;lt;xcdg:TitleSurfaceConfiguration xcdg:CardflowView3D.Surfaces="Left, Right"/&amp;gt;&lt;br/&gt;                &amp;lt;/xcdg:ElementalBlackTheme.SurfaceConfigurations&amp;gt;&lt;br/&gt;             &amp;lt;/xcdg:ElementalBlackTheme&amp;gt;&lt;br/&gt;          &amp;lt;/xcdg:CardflowView3D.Theme&amp;gt;&lt;br/&gt;       &amp;lt;/xcdg:CardflowView3D&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Setting a view and theme</title><link>http://xceed.com/CS/forums/thread/28150.aspx</link><pubDate>Wed, 08 Oct 2008 20:12:50 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28150</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28150.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28150</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to use attribute syntax to apply a card-view layout, with the normal-color Aero theme, to a grid.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"&lt;br/&gt;                        View="CardView.Zune.NormalColor"/&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;The following example demonstrates how to use property element syntax to apply a card-view layout, with the normal-color Aero theme, to a grid.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                     Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                         ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:CardView&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:CardView.Theme&amp;gt;&lt;br/&gt;              &amp;lt;xcdg:ZuneNormalColorTheme/&amp;gt;&lt;br/&gt;           &amp;lt;/xcdg:CardView.Theme&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:CardView&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;   &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Retrieving child contexts</title><link>http://xceed.com/CS/forums/thread/28148.aspx</link><pubDate>Wed, 08 Oct 2008 20:12:19 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28148</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28148.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28148</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to retrieve the child contexts of the master data items and collapse any expanded details using the CollapseDetail method.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_employees"&lt;br/&gt;                                        Source="{Binding Source={x:Static Application.Current}, Path=Employees}"/&amp;gt; &lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt; &lt;br/&gt;  &amp;lt;DockPanel&amp;gt;&lt;br/&gt;     &amp;lt;Button Content="Collapse All Details"&lt;br/&gt;             Click="Button_Click"&lt;br/&gt;             DockPanel.Dock="Top"/&amp;gt;&lt;br/&gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridControl x:Name="EmployeesGrid"&lt;br/&gt;                           ItemsSource="{Binding Source={StaticResource cvs_employees}}"&lt;br/&gt;                           ItemsSourceName="Order Information"&lt;br/&gt;                           AutoCreateDetailConfigurations="True"/&amp;gt;&lt;br/&gt;  &amp;lt;/DockPanel&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;The next example provides the implementation of the button's Click event.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;VB.NET&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Private Sub Button_Click( ByVal sender As Object, ByVal e As RoutedEventArgs )&lt;br/&gt;  Dim rootContext As DataGridContext = DataGridControl.GetDataGridContext( Me.EmployeesGrid )&lt;br/&gt;  Dim childContexts As New List( Of DataGridContext)( Me.EmployeesGrid.GetChildContexts() )&lt;br/&gt;&lt;br/&gt;  Dim context As DataGridContext&lt;br/&gt;  For Each context In childContexts&lt;br/&gt;    context.ParentDataGridContext.CollapseDetails( context.ParentItem )&lt;br/&gt;  Next context&lt;br/&gt;End Sub&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;strong&gt;C#&lt;br/&gt;&lt;/strong&gt;&lt;br/&gt;private void Button_Click( object sender, RoutedEventArgs e )&lt;br/&gt;{&lt;br/&gt; DataGridContext rootContext = DataGridControl.GetDataGridContext( this.EmployeesGrid );&lt;br/&gt; List&amp;lt;DataGridContext&amp;gt; childContexts = new List&amp;lt;DataGridContext&amp;gt;( this.EmployeesGrid.GetChildContexts() );&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt; foreach( DataGridContext context in childContexts )&lt;br/&gt; {&lt;br/&gt;   context.ParentDataGridContext.CollapseDetails( context.ParentItem );&lt;br/&gt; }     &lt;br/&gt;}&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Providing a default detail configuration</title><link>http://xceed.com/CS/forums/thread/28146.aspx</link><pubDate>Wed, 08 Oct 2008 20:11:54 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28146</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28146.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28146</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to provide a default detail configuration that will be applied to all details in a grid and any descendant details for which an explicit detail configuration has not been provided. &lt;br/&gt;&lt;br/&gt;  &lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;  &lt;tbody&gt;  &lt;tr&gt;  &lt;td&gt;  &lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_employees"&lt;br/&gt;                                        Source="{Binding Source={x:Static Application.Current}, Path=Employees}" /&amp;gt;&lt;br/&gt;   &lt;br/&gt;     &amp;lt;xcdg:IndexToOddConverter x:Key="rowIndexConverter" /&amp;gt;&lt;br/&gt;   &lt;br/&gt;     &amp;lt;Style x:Key="alternatingDataRowStyle"&lt;br/&gt;            TargetType="{x:Type xcdg:DataRow}"&amp;gt;&lt;br/&gt;        &amp;lt;Style.Triggers&amp;gt;&lt;br/&gt;           &amp;lt;DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},&lt;br/&gt;                             Path=(xcdg:DataGridVirtualizingPanel.ItemIndex),&lt;br/&gt;                             Converter={StaticResource rowIndexConverter}}"&lt;br/&gt;                        Value="True"&amp;gt;&lt;br/&gt;              &amp;lt;Setter Property="Background"&lt;br/&gt;                      Value="AliceBlue" /&amp;gt;&lt;br/&gt;           &amp;lt;/DataTrigger&amp;gt;&lt;br/&gt;        &amp;lt;/Style.Triggers&amp;gt;&lt;br/&gt;     &amp;lt;/Style&amp;gt;&lt;br/&gt;   &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="EmployeesGrid"&lt;br/&gt;                      ItemsSource="{Binding Source={StaticResource cvs_employees}}"&lt;br/&gt;                      ItemsSourceName="Employee Information"&lt;br/&gt;                      AutoCreateDetailConfigurations="True"&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl.DefaultDetailConfiguration&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:DefaultDetailConfiguration UseDefaultHeadersFooters="False"&lt;br/&gt;                                        ItemContainerStyle="{StaticResource alternatingDataRowStyle}"&lt;br/&gt;                                        xcdg:TableView.ShowFixedColumnSplitter="False"&amp;gt;&lt;br/&gt;&lt;br/&gt;          &amp;lt;xcdg:DefaultDetailConfiguration.DefaultGroupConfiguration&amp;gt;&lt;br/&gt;             &amp;lt;xcdg:GroupConfiguration InitiallyExpanded="False" /&amp;gt;&lt;br/&gt;          &amp;lt;/xcdg:DefaultDetailConfiguration.DefaultGroupConfiguration&amp;gt;&lt;br/&gt;&lt;br/&gt;          &amp;lt;xcdg:DefaultDetailConfiguration.Headers&amp;gt;&lt;br/&gt;             &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;                &amp;lt;DockPanel&amp;gt;&lt;br/&gt;                   &amp;lt;xcdg:HierarchicalGroupLevelIndicatorPane  xcdg:GroupLevelIndicatorPane.ShowIndicators="False"&lt;br/&gt;                                                              xcdg:TableView.CanScrollHorizontally="False"&lt;br/&gt;                                                              DockPanel.Dock="Left" /&amp;gt;&lt;br/&gt;                   &amp;lt;ContentPresenter Content="{Binding RelativeSource={RelativeSource Self},&lt;br/&gt;                                     Path=(xcdg:DataGridControl.DataGridContext).SourceDetailConfiguration.Title}"&lt;br/&gt;                             ContentTemplate="{Binding RelativeSource={RelativeSource Self},&lt;br/&gt;                             Path=(xcdg:DataGridControl.DataGridContext).SourceDetailConfiguration.TitleTemplate}" /&amp;gt;&lt;br/&gt;                &amp;lt;/DockPanel&amp;gt;&lt;br/&gt;             &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;             &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;                &amp;lt;xcdg:ColumnManagerRow AllowColumnReorder="False"&lt;br/&gt;                                       AllowSort="False" /&amp;gt;&lt;br/&gt;             &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;          &amp;lt;/xcdg:DefaultDetailConfiguration.Headers&amp;gt;&lt;br/&gt;&lt;br/&gt;          &amp;lt;xcdg:DefaultDetailConfiguration.Footers&amp;gt;&lt;br/&gt;             &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;                &amp;lt;xcdg:InsertionRow realsrc="Cornsilk" background="http://dev.xceed.xcd/kb/admin/Cornsilk" /&amp;gt;&lt;br/&gt;             &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;          &amp;lt;/xcdg:DefaultDetailConfiguration.Footers&amp;gt;&lt;br/&gt;&lt;br/&gt;          &amp;lt;xcdg:DefaultDetailConfiguration.DetailIndicatorStyle&amp;gt;&lt;br/&gt;             &amp;lt;Style TargetType="{x:Type xcdg:DetailIndicator}"&amp;gt;&lt;br/&gt;                &amp;lt;Setter Property="Background"&lt;br/&gt;                        Value="AliceBlue" /&amp;gt;&lt;br/&gt;             &amp;lt;/Style&amp;gt;&lt;br/&gt;          &amp;lt;/xcdg:DefaultDetailConfiguration.DetailIndicatorStyle&amp;gt;&lt;br/&gt;       &amp;lt;/xcdg:DefaultDetailConfiguration&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.DefaultDetailConfiguration&amp;gt;&lt;br/&gt; &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Indenting a non-row item in a detail configuration header</title><link>http://xceed.com/CS/forums/thread/28145.aspx</link><pubDate>Wed, 08 Oct 2008 20:11:09 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28145</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28145.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28145</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to add a non-row item that will act as a detail separator to the header section of a detail configuration whose indentation will correspond to detail and group levels in which it is contained.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&lt;br/&gt;      xmlns:local="clr-namespace:Xceed.Wpf.Documentation"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_employees"&lt;br/&gt;                                      Source="{Binding Source={x:Static Application.Current}, Path=Employees}"/&amp;gt; &lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt; &lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="EmployeesGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_employees}}"&lt;br/&gt;                        AutoCreateDetailConfigurations="True"&amp;gt;   &lt;br/&gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:Column FieldName="Photo"&lt;br/&gt;                     Visible="False" /&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridControl.DetailConfigurations&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DetailConfiguration RelationName="Employee_Orders"&lt;br/&gt;                                  Title="Employee Orders"&lt;br/&gt;                                  UseDefaultHeadersFooters="False"&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:DetailConfiguration.Headers&amp;gt;&lt;br/&gt;              &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;                 &amp;lt;DockPanel&amp;gt;                                    &lt;br/&gt;                    &amp;lt;xcdg:HierarchicalGroupLevelIndicatorPane  xcdg:GroupLevelIndicatorPane.ShowIndicators="False"&lt;br/&gt;                                                               xcdg:TableView.CanScrollHorizontally="False"&lt;br/&gt;                                                                DockPanel.Dock="Left" /&amp;gt;&lt;br/&gt;                    &amp;lt;Border Height="24"&lt;br/&gt;                            xcdg:TableView.CanScrollHorizontally="False"&lt;br/&gt;                            realsrc="AliceBlue" background="http://dev.xceed.xcd/kb/admin/AliceBlue"/&amp;gt;&lt;br/&gt;                 &amp;lt;/DockPanel&amp;gt;&lt;br/&gt;              &amp;lt;/DataTemplate&amp;gt;  &lt;br/&gt;             &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;                 &amp;lt;xcdg:ColumnManagerRow /&amp;gt;&lt;br/&gt;              &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;           &amp;lt;/xcdg:DetailConfiguration.Headers&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:DetailConfiguration&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:DataGridControl.DetailConfigurations&amp;gt;        &lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Defining detail descriptions</title><link>http://xceed.com/CS/forums/thread/28133.aspx</link><pubDate>Wed, 08 Oct 2008 20:10:50 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28133</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28133.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28133</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to explicitly define detail descriptions for the DataRelations found in the DataTable to which the grid is bound and how to calculate statistical functions for a detail description whose results will be displayed in the StatRows contained in the footer sections of the details to which the description's corresponding detail configuration will be applied.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_employees"&lt;br/&gt;                                        Source="{Binding Source={x:Static Application.Current}, &lt;br/&gt;                                                         Path=Employees}"&amp;gt;&lt;br/&gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridCollectionViewSource.DetailDescriptions&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:DataRelationDetailDescription RelationName="Employee_Orders"&lt;br/&gt;                                              Title="Employee Orders"&amp;gt;&lt;br/&gt;&lt;br/&gt;             &amp;lt;xcdg:DataRelationDetailDescription.DetailDescriptions&amp;gt;&lt;br/&gt;                &amp;lt;xcdg:DataRelationDetailDescription RelationName="Order_OrderDetails"&lt;br/&gt;                                                    Title="Order Details"&amp;gt;&lt;br/&gt;                   &amp;lt;xcdg:DataRelationDetailDescription.ItemProperties&amp;gt;&lt;br/&gt;                      &amp;lt;xcdg:DataGridItemProperty Name="UnitPrice" /&amp;gt;&lt;br/&gt;                      &amp;lt;xcdg:DataGridItemProperty Name="Quantity" /&amp;gt;&lt;br/&gt;                      &amp;lt;xcdg:DataGridItemProperty Name="Discount" /&amp;gt;&lt;br/&gt;                   &amp;lt;/xcdg:DataRelationDetailDescription.ItemProperties&amp;gt;&lt;br/&gt;                   &amp;lt;xcdg:DataRelationDetailDescription.StatFunctions&amp;gt;                          &lt;br/&gt;                      &amp;lt;xcdg:SumFunction ResultPropertyName="sum_quantity"&lt;br/&gt;                                        SourcePropertyName="Quantity" /&amp;gt;&lt;br/&gt;                      &amp;lt;xcdg:AverageFunction ResultPropertyName="average_unitprice"&lt;br/&gt;                                            SourcePropertyName="UnitPrice" /&amp;gt;&lt;br/&gt;                   &amp;lt;/xcdg:DataRelationDetailDescription.StatFunctions&amp;gt;&lt;br/&gt;                &amp;lt;/xcdg:DataRelationDetailDescription&amp;gt;&lt;br/&gt;             &amp;lt;/xcdg:DataRelationDetailDescription.DetailDescriptions&amp;gt;&lt;br/&gt;          &amp;lt;/xcdg:DataRelationDetailDescription&amp;gt;&lt;br/&gt;       &amp;lt;/xcdg:DataGridCollectionViewSource.DetailDescriptions&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt; &lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="EmployeesGrid"&lt;br/&gt;                      ItemsSource="{Binding Source={StaticResource cvs_employees}}"&lt;br/&gt;                      ItemsSourceName="Employee Information"&lt;br/&gt;                      AutoCreateDetailConfigurations="True"&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl.DetailConfigurations&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:DetailConfiguration RelationName="Employee_Orders"&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:DetailConfiguration.DetailConfigurations&amp;gt;&lt;br/&gt;             &amp;lt;xcdg:DetailConfiguration RelationName="Order_OrderDetails"&amp;gt;&lt;br/&gt;                &amp;lt;xcdg:DetailConfiguration.Footers&amp;gt;&lt;br/&gt;                   &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;                      &amp;lt;xcdg:StatRow realsrc="AliceBlue" background="http://dev.xceed.xcd/kb/admin/AliceBlue"&amp;gt;&lt;br/&gt;                         &amp;lt;xcdg:StatCell FieldName="UnitPrice"&lt;br/&gt;                                        ResultPropertyName="average_unitprice"&lt;br/&gt;                                        ResultConverterParameter="f2" /&amp;gt;&lt;br/&gt;                         &amp;lt;xcdg:StatCell FieldName="Quantity"&lt;br/&gt;                                        ResultPropertyName="sum_quantity" /&amp;gt;                             &lt;br/&gt;                      &amp;lt;/xcdg:StatRow&amp;gt;&lt;br/&gt;                   &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;                &amp;lt;/xcdg:DetailConfiguration.Footers&amp;gt;&lt;br/&gt;             &amp;lt;/xcdg:DetailConf</description></item><item><title>Creating a custom detail description</title><link>http://xceed.com/CS/forums/thread/28144.aspx</link><pubDate>Wed, 08 Oct 2008 20:10:35 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28144</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28144.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28144</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to create and use a custom detail description that handles LINQ detail relations, which are provided by properties to which the AssociationAttribute is applied.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;VB.NET&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Imports System&lt;br/&gt;Imports System.Collections.Generic&lt;br/&gt;Imports System.Linq&lt;br/&gt;Imports System.Text&lt;br/&gt;Imports Xceed.Wpf.DataGrid&lt;br/&gt;Imports System.Reflection&lt;br/&gt;Imports System.Data.Linq.Mapping&lt;br/&gt;Imports System.Diagnostics&lt;br/&gt;Imports System.Collections&lt;br/&gt;&lt;br/&gt;Namespace Xceed.Wpf.Documentation&lt;br/&gt;  Public Class LinqToSqlDetailDescription&lt;br/&gt;               Inherits DataGridDetailDescription&lt;br/&gt;&lt;br/&gt;    Protected Overrides Function GetDetailsForParentItem( ByVal parentCollectionView As DataGridCollectionView, _&lt;br/&gt;                                                          ByVal parentItem As Object ) As IEnumerable&lt;br/&gt;      Dim parentItemType As Type = parentItem.GetType()&lt;br/&gt;      Dim foundProperty As PropertyInfo = Nothing&lt;br/&gt;      Dim properties() As PropertyInfo = parentItemType.GetProperties()&lt;br/&gt;      Dim propertyInfo As PropertyInfo&lt;br/&gt;&lt;br/&gt;      For Each propertyInfo In properties&lt;br/&gt;        Dim attributes() As Object = propertyInfo.GetCustomAttributes( Type.GetType( AssociationAttribute ), False)&lt;br/&gt;&lt;br/&gt;        If attributes.GetLength( 0 ) = 0 Then&lt;br/&gt;          continue&lt;br/&gt;        End If&lt;br/&gt;&lt;br/&gt;        Dim associationAttribute As AssociationAttribute = CType( attributes( 0 ), AssociationAttribute )&lt;br/&gt;&lt;br/&gt;        If associationAttribute.Name = Me.RelationName Then&lt;br/&gt;          foundProperty = propertyInfo&lt;br/&gt;          Exit Property&lt;br/&gt;        End If&lt;br/&gt;      Next&lt;br/&gt;&lt;br/&gt;      If foundProperty Is Nothing Then&lt;br/&gt;        Return New Object()&lt;br/&gt;      Else&lt;br/&gt;        Dim details As Object = foundProperty.GetValue( parentItem, Nothing )&lt;br/&gt;        Dim detailsType As Type = details.GetType()&lt;br/&gt;        Dim getNewBindingList As MethodInfo = detailsType.GetMethod( "GetNewBindingList" )&lt;br/&gt;&lt;br/&gt;        Return CType( getNewBindingList.Invoke( details, Nothing), IEnumerable )&lt;br/&gt;      End If&lt;br/&gt;    End Function&lt;br/&gt;  End Class&lt;br/&gt;End Namespace&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;using System;&lt;br/&gt;using System.Collections.Generic;&lt;br/&gt;using System.Linq;&lt;br/&gt;using System.Text;&lt;br/&gt;using Xceed.Wpf.DataGrid;&lt;br/&gt;using System.Reflection;&lt;br/&gt;using System.Data.Linq.Mapping;&lt;br/&gt;using System.Diagnostics;&lt;br/&gt;using System.Collections;&lt;br/&gt;&lt;br/&gt;namespace Xceed.Wpf.Documentation&lt;br/&gt;{&lt;br/&gt; public class LinqToSqlDetailDescription: DataGridDetailDescription&lt;br/&gt; {&lt;br/&gt;   protected override IEnumerable GetDetailsForParentItem( DataGridCollectionView parentCollectionView, object parentItem )&lt;br/&gt;   {&lt;br/&gt;     Type parentItemType = parentItem.GetType();&lt;br/&gt;     PropertyInfo foundProperty = null;&lt;br/&gt;    &lt;br/&gt;     PropertyInfo[] properties = parentItemType.GetProperties();&lt;br/&gt;     foreach( PropertyInfo propertyInfo in properties )&lt;br/&gt;     {&lt;br/&gt;       object[] attributes = propertyInfo.GetCustomAttributes( typeof( AssociationAttribute ), false );&lt;br/&gt;&lt;br/&gt;       if( attributes.GetLength( 0 ) == 0 )&lt;br/&gt;         continue;&lt;br/&gt;&lt;br/&gt;       AssociationAttribute associationAttribute = ( AssociationAttribute )attributes[ 0 ];&lt;br/&gt;       if( associationAttribute.Name == this.RelationName )&lt;br/&gt;       {&lt;br/&gt;         foundProperty = propertyInfo;&lt;br/&gt;         break;&lt;br/&gt;       }&lt;br/&gt;     }&lt;br/&gt;&lt;br/&gt;     if( foundProperty == null )&lt;br/&gt;     {&lt;br/&gt;       return new object[] { };&lt;br/&gt;     }&lt;br/&gt;     else&lt;br/&gt;     {&lt;br/&gt;       object details = foundProperty.GetValue( parentItem, null );&lt;br/&gt;       Type detailsType = details.GetType();&lt;br/&gt;       MethodInfo getNewBindingList = detailsType.GetMethod( "GetNewBindingList" );&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;       return ( IEnumerable )getNewBindingList.Invoke( details, null );&lt;br/&gt;     }&lt;br/&gt;   }&lt;br/&gt; }&lt;</description></item><item><title>Displaying statistical functions in details</title><link>http://xceed.com/CS/forums/thread/28143.aspx</link><pubDate>Wed, 08 Oct 2008 20:08:25 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28143</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28143.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28143</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to explicitly define detail descriptions for the DataRelations found in the DataTable to which the grid is bound and how to calculate statistical functions for a detail description whose results will be displayed in the StatRows contained in the footer sections of the details to which the description's corresponding detail configuration will be applied.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_employees"&lt;br/&gt;                                        Source="{Binding Source={x:Static Application.Current}, &lt;br/&gt;                                                         Path=Employees}"&amp;gt;&lt;br/&gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridCollectionViewSource.DetailDescriptions&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:DataRelationDetailDescription RelationName="Employee_Orders"&lt;br/&gt;                                              Title="Employee Orders"&amp;gt;&lt;br/&gt;             &amp;lt;xcdg:DataRelationDetailDescription.DetailDescriptions&amp;gt;&lt;br/&gt;                &amp;lt;xcdg:DataRelationDetailDescription RelationName="Order_OrderDetails"&lt;br/&gt;                                                    Title="Order Details"&amp;gt;&lt;br/&gt;&lt;br/&gt;                   &amp;lt;xcdg:DataRelationDetailDescription.ItemProperties&amp;gt;&lt;br/&gt;                      &amp;lt;xcdg:DataGridItemProperty Name="UnitPrice" /&amp;gt;&lt;br/&gt;                      &amp;lt;xcdg:DataGridItemProperty Name="Quantity" /&amp;gt;&lt;br/&gt;                      &amp;lt;xcdg:DataGridItemProperty Name="Discount" /&amp;gt;&lt;br/&gt;                   &amp;lt;/xcdg:DataRelationDetailDescription.ItemProperties&amp;gt;&lt;br/&gt;&lt;br/&gt;                   &amp;lt;xcdg:DataRelationDetailDescription.StatFunctions&amp;gt;                          &lt;br/&gt;                      &amp;lt;xcdg:SumFunction ResultPropertyName="sum_quantity"&lt;br/&gt;                                        SourcePropertyName="Quantity" /&amp;gt;&lt;br/&gt;                      &amp;lt;xcdg:AverageFunction ResultPropertyName="average_unitprice"&lt;br/&gt;                                            SourcePropertyName="UnitPrice" /&amp;gt;&lt;br/&gt;                   &amp;lt;/xcdg:DataRelationDetailDescription.StatFunctions&amp;gt;&lt;br/&gt;&lt;br/&gt;                &amp;lt;/xcdg:DataRelationDetailDescription&amp;gt;&lt;br/&gt;             &amp;lt;/xcdg:DataRelationDetailDescription.DetailDescriptions&amp;gt;&lt;br/&gt;          &amp;lt;/xcdg:DataRelationDetailDescription&amp;gt;&lt;br/&gt;       &amp;lt;/xcdg:DataGridCollectionViewSource.DetailDescriptions&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt; &lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="EmployeesGrid"&lt;br/&gt;                      ItemsSource="{Binding Source={StaticResource cvs_employees}}"&lt;br/&gt;                      ItemsSourceName="Employee Information"&lt;br/&gt;                      AutoCreateDetailConfigurations="True"&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl.DetailConfigurations&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:DetailConfiguration RelationName="Employee_Orders"&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:DetailConfiguration.DetailConfigurations&amp;gt;&lt;br/&gt;             &amp;lt;xcdg:DetailConfiguration RelationName="Order_OrderDetails"&amp;gt;&lt;br/&gt;                &amp;lt;xcdg:DetailConfiguration.Footers&amp;gt;&lt;br/&gt;                   &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;                      &amp;lt;xcdg:StatRow realsrc="AliceBlue" background="http://dev.xceed.xcd/kb/admin/AliceBlue"&amp;gt;&lt;br/&gt;                         &amp;lt;xcdg:StatCell FieldName="UnitPrice"&lt;br/&gt;                                        ResultPropertyName="average_unitprice"&lt;br/&gt;                                        ResultConverterParameter="f2" /&amp;gt;&lt;br/&gt;                         &amp;lt;xcdg:StatCell FieldName="Quantity"&lt;br/&gt;                                        ResultPropertyName="sum_quantity" /&amp;gt;                             &lt;br/&gt;                      &amp;lt;/xcdg:StatRow&amp;gt;&lt;br/&gt;                   &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;                &amp;lt;/xcdg:DetailConfiguration.Footers&amp;gt;&lt;br/&gt;             &amp;lt;/xcdg:Detai</description></item><item><title>Custom statistical-result layout</title><link>http://xceed.com/CS/forums/thread/28142.aspx</link><pubDate>Wed, 08 Oct 2008 20:08:13 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28142</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28142.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28142</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to create a custom data template that will be used in the footers of the first-level groups to display the results of various statistical functions.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orderdetails"&lt;br/&gt;                                       Source="{Binding Source={x:Static Application.Current},&lt;br/&gt;                                                        Path=OrderDetails}"&amp;gt; &lt;br/&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;    &amp;lt;xcdg:DataGridCollectionViewSource.StatFunctions&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:CountFunction ResultPropertyName="orderid_count"&lt;br/&gt;                           SourcePropertyName="OrderID"/&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:SumFunction ResultPropertyName="unitprice_sum"&lt;br/&gt;                         SourcePropertyName="UnitPrice"/&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:AverageFunction ResultPropertyName="unitprice_average"&lt;br/&gt;                             SourcePropertyName="UnitPrice"/&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:SumFunction ResultPropertyName="quantity_sum"&lt;br/&gt;                         SourcePropertyName="Quantity"/&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:DataGridCollectionViewSource.StatFunctions&amp;gt;       &lt;br/&gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridGroupDescription PropertyName="ProductID"/&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;xcdg:StatResultConverter x:Key="valueConverter"/&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrderDetailsGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orderdetails}}"&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl.DefaultGroupConfiguration&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:GroupConfiguration&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:GroupConfiguration.Footers&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:GroupHeaderFooterItemTemplate VisibleWhenCollapsed="True"&amp;gt;&lt;br/&gt;            &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;              &amp;lt;Border realsrc="#999999" background="http://dev.xceed.xcd/kb/admin/#999999"&lt;br/&gt;                      BorderBrush="LightBlue"&lt;br/&gt;                      BorderThickness="3"&lt;br/&gt;                      Margin="5" &amp;gt;&lt;br/&gt;                &amp;lt;Grid&amp;gt;&lt;br/&gt;                  &amp;lt;Grid.ColumnDefinitions&amp;gt;&lt;br/&gt;                    &amp;lt;ColumnDefinition/&amp;gt;&lt;br/&gt;                    &amp;lt;ColumnDefinition/&amp;gt;&lt;br/&gt;                  &amp;lt;/Grid.ColumnDefinitions&amp;gt;&lt;br/&gt;                  &amp;lt;Grid.RowDefinitions&amp;gt;&lt;br/&gt;                    &amp;lt;RowDefinition/&amp;gt;&lt;br/&gt;                    &amp;lt;RowDefinition/&amp;gt;&lt;br/&gt;                    &amp;lt;RowDefinition/&amp;gt;&lt;br/&gt;                    &amp;lt;RowDefinition/&amp;gt;&lt;br/&gt;                  &amp;lt;/Grid.RowDefinitions&amp;gt;&lt;br/&gt;                  &amp;lt;TextBlock Text="Total Orders: " Grid.Row="0" Grid.Column="0"/&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;                   &amp;lt;TextBlock Text="{Binding RelativeSource={RelativeSource Self},&lt;br/&gt;                                             Path=(xcdg:DataGridControl.StatContext).orderid_count}"&lt;br/&gt;                              Grid.Row="0" Grid.Column="1"/&amp;gt;                    &lt;br/&gt;                    &amp;lt;TextBlock Text="Total Quantity Sold: " Grid.Row="1" Grid.Column="0"/&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;                   &amp;lt;TextBlock Text="{Binding RelativeSource={RelativeSource Self},&lt;br/&gt;                                   Path=(xcdg:DataGridControl.StatContext).quantity_sum}"&lt;br/&gt;                                   Grid.Row="1" Grid.Column="1"/&amp;gt;  &lt;br/&gt;                    &amp;lt;TextBlock Text="Total Sales: " Grid.Row="2" Grid.Column="0"/&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;                   &amp;lt;TextBlock Text="{Binding RelativeSource={RelativeSource Self},&lt;br/&gt;                                </description></item><item><title>Changing statistical contexts</title><link>http://xceed.com/CS/forums/thread/28141.aspx</link><pubDate>Wed, 08 Oct 2008 20:08:00 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28141</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28141.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28141</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to change the statistical context of a TextBlock that displays the results of a statistical function when the current item is changed. The statistical context of the TextBlock will be changed in the grid's PropertyChanged event handler by using the GetParentGroupFromItem method to retrieve the current group and set it as the new statistical context. &lt;br/&gt;&lt;br/&gt;To simplify the code below, the DataContext of the StackPanel could have been modified rather than the DataContext of each TextBlock.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orderdetails"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current}, &lt;br/&gt;                                                     Path=OrderDetails}"&amp;gt;&lt;br/&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;      &amp;lt;xcdg:DataGridCollectionViewSource.StatFunctions&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:CountFunction ResultPropertyName="orderid_count"&lt;br/&gt;                            SourcePropertyName="OrderID"/&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:AverageFunction ResultPropertyName="unitprice_average"&lt;br/&gt;                              SourcePropertyName="UnitPrice"/&amp;gt;              &lt;br/&gt;      &amp;lt;/xcdg:DataGridCollectionViewSource.StatFunctions&amp;gt;&lt;br/&gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridGroupDescription PropertyName="ProductID"/&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:StatResultConverter x:Key="valueConverter"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;DockPanel&amp;gt;&lt;br/&gt;    &amp;lt;StackPanel Orientation="Horizontal" DockPanel.Dock="Top"&amp;gt;&lt;br/&gt;      &amp;lt;TextBlock Text="Results for product "/&amp;gt;&lt;br/&gt;      &amp;lt;TextBlock x:Name="CurrentGroupTitle" Text="{Binding Name}"/&amp;gt;&lt;br/&gt;      &amp;lt;TextBlock Text=": "/&amp;gt;&lt;br/&gt;      &amp;lt;TextBlock Text="     Total Orders-"/&amp;gt;&lt;br/&gt;      &amp;lt;TextBlock x:Name="TotalOrders" Text="{Binding orderid_count}"/&amp;gt;&lt;br/&gt;      &amp;lt;TextBlock Text="     Average Unit Price-"/&amp;gt;&lt;br/&gt;      &amp;lt;TextBlock x:Name="AveragePrice"&lt;br/&gt;                 Text="{Binding unitprice_average,&lt;br/&gt;                        Converter={StaticResource valueConverter},&lt;br/&gt;                        ConverterParameter=f2}"/&amp;gt;&lt;br/&gt;    &amp;lt;/StackPanel&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl x:Name="OrderDetailsGrid"&lt;br/&gt;                          ItemsSource="{Binding Source={StaticResource cvs_orderdetails}}"&lt;br/&gt;                          PropertyChanged="CurrentItemChanged"&lt;br/&gt;                          DockPanel.Dock="Bottom"/&amp;gt;&lt;br/&gt;  &amp;lt;/DockPanel&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;The following code provides the implementation of the PropertyChanged event handler.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;VB.NET&lt;br/&gt;&lt;/strong&gt;&lt;br/&gt;Private Sub CurrentItemChanged( ByVal sender As Object, ByVal e AsPropertyChangedEventArgs  )&lt;br/&gt;  If e.PropertyName = "CurrentItem" Then&lt;br/&gt;    If Me.OrderDetailsGrid.CurrentItem Is Nothing Then&lt;br/&gt;      Return&lt;br/&gt;    End If&lt;br/&gt;&lt;br/&gt;    Dim group As CollectionViewGroup = Me.OrderDetailsGrid.GetParentGroupFromItem( Me.OrderDetailsGrid.CurrentItem )&lt;br/&gt;&lt;br/&gt;    Me.CurrentGroupTitle.DataContext = group&lt;br/&gt;    Me.TotalOrders.DataContext = group&lt;br/&gt;    Me.AveragePrice.DataContext = group&lt;br/&gt;  End If&lt;br/&gt;End Sub&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;private void CurrentItemChanged( object sender, PropertyChangedEventArgs e )&lt;br/&gt;{&lt;br/&gt;  if( e.PropertyName == "CurrentItem" )&lt;br/&gt;  {&lt;br/&gt;    if( this.OrderDetailsGrid.CurrentItem == null )&lt;br/&gt;      return;&lt;br/&gt;&lt;br/&gt;    CollectionView</description></item><item><title>Displaying statistical functions</title><link>http://xceed.com/CS/forums/thread/28140.aspx</link><pubDate>Wed, 08 Oct 2008 20:07:41 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28140</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28140.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28140</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to display the results of various statistical functions in and outside of a grid.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orderdetails"&lt;br/&gt;                                       Source="{Binding Source={x:Static Application.Current},&lt;br/&gt;                                                        Path=OrderDetails}"&amp;gt;&lt;br/&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size="1"&gt;     &amp;lt;xcdg:DataGridCollectionViewSource.StatFunctions&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:CountFunction ResultPropertyName="orderid_count"&lt;br/&gt;                           SourcePropertyName="OrderID"/&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:SumFunction ResultPropertyName="unitprice_sum"&lt;br/&gt;                         SourcePropertyName="UnitPrice"/&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:SumFunction ResultPropertyName="quantity_sum" SourcePropertyName="Quantity"/&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:DataGridCollectionViewSource.StatFunctions&amp;gt;&lt;br/&gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:DataGridGroupDescription PropertyName="ProductID"/&amp;gt;      &lt;br/&gt;     &amp;lt;/xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;xcdg:StatResultConverter x:Key="valueConverter"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;DockPanel&amp;gt;&lt;br/&gt;    &amp;lt;StackPanel Orientation="Horizontal" DockPanel.Dock="Top"&amp;gt;&lt;br/&gt;      &amp;lt;TextBlock Text="Total Orders: "/&amp;gt;&lt;br/&gt;      &amp;lt;TextBlock Text="{Binding ElementName=OrderDetailsGrid,&lt;br/&gt;                 Path=StatContext.orderid_count}"/&amp;gt;&lt;br/&gt;    &amp;lt;/StackPanel&amp;gt;&lt;br/&gt;&lt;br/&gt;     &amp;lt;StackPanel Orientation="Horizontal" DockPanel.Dock="Top"&amp;gt;&lt;br/&gt;       &amp;lt;TextBlock Text="Average Unit Price: "/&amp;gt;&lt;br/&gt;     &amp;lt;TextBlock Text="{Binding ElementName=OrderDetailsGrid,&lt;br/&gt;                        Path=StatContext.unitprice_average,&lt;br/&gt;                        Converter={StaticResource valueConverter},&lt;br/&gt;                        ConverterParameter=f2}"/&amp;gt;&lt;br/&gt;    &amp;lt;/StackPanel&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl x:Name="OrderDetailsGrid"&lt;br/&gt;                          ItemsSource="{Binding Source={StaticResource cvs_orderdetails}}"&lt;br/&gt;                          DockPanel.Dock="Bottom"&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridControl.DefaultGroupConfiguration&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:GroupConfiguration&amp;gt; &lt;br/&gt;        &amp;lt;xcdg:GroupConfiguration.Footers&amp;gt;&lt;br/&gt;           &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;               &amp;lt;xcdg:StatRow&amp;gt;&lt;br/&gt;               &amp;lt;xcdg:StatCell FieldName="UnitPrice"&lt;br/&gt;                              ResultPropertyName="unitprice_sum"/&amp;gt;&lt;br/&gt;               &amp;lt;xcdg:StatCell FieldName="Quantity"&lt;br/&gt;                              ResultPropertyName="quantity_sum"/&amp;gt;&lt;br/&gt;               &amp;lt;xcdg:StatCell FieldName="OrderID"&lt;br/&gt;                              ResultPropertyName="orderid_count"/&amp;gt;&lt;br/&gt;             &amp;lt;/xcdg:StatRow&amp;gt;&lt;br/&gt;           &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;         &amp;lt;/xcdg:GroupConfiguration.Footers&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:GroupConfiguration&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridControl.DefaultGroupConfiguration&amp;gt;    &lt;br/&gt;    &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;  &amp;lt;/DockPanel&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Providing binding-level validation</title><link>http://xceed.com/CS/forums/thread/28139.aspx</link><pubDate>Wed, 08 Oct 2008 20:07:15 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28139</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28139.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28139</wfw:commentRss><description>&lt;body&gt;&lt;body&gt;The following example demonstrates how to create a custom ValidationRule and apply it to a column's binding to provide binding-level validation.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&lt;br/&gt;     xmlns:local="clr-namespace:Xceed.Wpf.Documentation"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_composers"&lt;br/&gt;                                        Source="{Binding Source={x:Static Application.Current}, &lt;br/&gt;                                                         Path=Composers}"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt; &lt;br/&gt;  &amp;lt;xcdg:DataGridControl ItemsSource="{Binding Source={StaticResource cvs_composers}}"&lt;br/&gt;                        UpdateSourceTrigger="RowEndingEdit"&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridControl.Columns&amp;gt; &lt;br/&gt;       &amp;lt;xcdg:Column FieldName="BirthYear"&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:Column.DisplayMemberBindingInfo&amp;gt;&lt;br/&gt;             &amp;lt;xcdg:DataGridBindingInfo Path="BirthYear"&amp;gt;&lt;br/&gt;                &amp;lt;xcdg:DataGridBindingInfo.ValidationRules&amp;gt;&lt;br/&gt;                   &amp;lt;local:YearValidationRule /&amp;gt;&lt;br/&gt;                &amp;lt;/xcdg:DataGridBindingInfo.ValidationRules&amp;gt;&lt;br/&gt;             &amp;lt;/xcdg:DataGridBindingInfo&amp;gt;&lt;br/&gt;          &amp;lt;/xcdg:Column.DisplayMemberBindingInfo&amp;gt;&lt;br/&gt;       &amp;lt;/xcdg:Column&amp;gt;&lt;br/&gt;&lt;br/&gt;       &amp;lt;xcdg:Column FieldName="DeathYear"&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:Column.DisplayMemberBindingInfo&amp;gt;&lt;br/&gt;             &amp;lt;xcdg:DataGridBindingInfo Path="DeathYear"&amp;gt;&lt;br/&gt;                &amp;lt;xcdg:DataGridBindingInfo.ValidationRules&amp;gt;&lt;br/&gt;                   &amp;lt;local:YearValidationRule /&amp;gt;&lt;br/&gt;                &amp;lt;/xcdg:DataGridBindingInfo.ValidationRules&amp;gt;&lt;br/&gt;             &amp;lt;/xcdg:DataGridBindingInfo&amp;gt;&lt;br/&gt;          &amp;lt;/xcdg:Column.DisplayMemberBindingInfo&amp;gt;&lt;br/&gt;       &amp;lt;/xcdg:Column&amp;gt;      &lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;&lt;span&gt;Implementation of the&lt;strong&gt;YearValidationRule&lt;/strong&gt;validation rule.&lt;br/&gt;&lt;/span&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;VB.NET&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Imports System&lt;br/&gt;Imports System.Windows.Controls&lt;br/&gt;Imports System.Globalization&lt;br/&gt;&lt;br/&gt;Namespace Xceed.Wpf.Documentation&lt;br/&gt;  Public Class YearValidationRule&lt;br/&gt;               Inherits ValidationRule&lt;br/&gt;&lt;br/&gt;    Public Overrides Function Validate( ByVal value As Object, _&lt;br/&gt;                                        ByVal cultureInfo As CultureInfo ) As ValidationResult&lt;br/&gt;      Dim year As Integer = CInt( value )&lt;br/&gt;&lt;br/&gt;      If year &amp;gt; DateTime.Now.Year Then&lt;br/&gt;        Return New ValidationResult( False, "Chosen year cannot be greater than this year." )&lt;br/&gt;      End If&lt;br/&gt;      Return ValidationResult.ValidResult&lt;br/&gt;    End Function&lt;br/&gt;  End Class&lt;br/&gt;End Namespace&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;using System;&lt;br/&gt;using System.Windows.Controls;&lt;br/&gt;using System.Globalization;&lt;br/&gt;&lt;br/&gt;namespace Xceed.Wpf.Documentation&lt;br/&gt;{&lt;br/&gt; public class YearValidationRule : ValidationRule&lt;br/&gt; {&lt;br/&gt;   public override ValidationResult Validate( object value, CultureInfo cultureInfo )&lt;br/&gt;   {&lt;br/&gt;     int year = ( int )value;&lt;br/&gt;&lt;br/&gt;     if( year &amp;gt; DateTime.Now.Year )&lt;br/&gt;       return new ValidationResult( false, "Chosen year cannot be greater than this year." );&lt;br/&gt;&lt;br/&gt;     return ValidationResult.ValidResult;&lt;br/&gt;   }&lt;br/&gt; }&lt;br/&gt;}&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;&lt;br/&gt;&lt;/body&gt;&lt;/body&gt;</description></item><item><title>Providing a cell error style</title><link>http://xceed.com/CS/forums/thread/28138.aspx</link><pubDate>Wed, 08 Oct 2008 20:07:03 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28138</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28138.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28138</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to provide a new style that will change the foreground color of a cell when its value fails the validation process&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&lt;br/&gt;     xmlns:local="clr-namespace:Xceed.Wpf.Documentation"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_composers"&lt;br/&gt;                                        Source="{Binding Source={x:Static Application.Current}, &lt;br/&gt;                                                         Path=Composers}"/&amp;gt;&lt;br/&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size="1"&gt;     &amp;lt;Style x:Key="cell_error" TargetType="{x:Type xcdg:DataCell}"&amp;gt;&lt;br/&gt;          &amp;lt;Setter Property="Foreground" Value="Red"/&amp;gt;&lt;br/&gt;       &amp;lt;/Style&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl ItemsSource="{Binding Source={StaticResource cvs_composers}}"&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:Column FieldName="Period"&lt;br/&gt;                    CellEditor="{StaticResource periodEditor}"&amp;gt;                                   &lt;br/&gt;          &amp;lt;xcdg:Column.CellValidationRules&amp;gt;&lt;br/&gt;             &amp;lt;local:PeriodVSCompositionCountCellValidationRule/&amp;gt;&lt;br/&gt;          &amp;lt;/xcdg:Column.CellValidationRules&amp;gt;&lt;br/&gt;       &amp;lt;/xcdg:Column&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:Column FieldName="CompositionCount"&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:Column.CellValidationRules&amp;gt;&lt;br/&gt;             &amp;lt;local:PeriodVSCompositionCountCellValidationRule /&amp;gt;&lt;br/&gt;          &amp;lt;/xcdg:Column.CellValidationRules&amp;gt;&lt;br/&gt;       &amp;lt;/xcdg:Column&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Providing a custom sort comparer</title><link>http://xceed.com/CS/forums/thread/28137.aspx</link><pubDate>Wed, 08 Oct 2008 20:01:25 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28137</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28137.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28137</wfw:commentRss><description>The following example demonstrates how to provide a custom sort comparer that sorts addresses. The AddressComparer class (provided below) will first sort addresses which begin with numeric values by street name and then civic number. Address that do not have a civic number will be sorted alphabetically.&lt;br/&gt;&lt;br/&gt;  &lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;  &lt;tbody&gt;  &lt;tr&gt;  &lt;td&gt;  &lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&lt;br/&gt;      xmlns:local="clr-namespace:Xceed.Wpf.Documentation"&amp;gt;&lt;br/&gt;   &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;      &amp;lt;local:AddressComparer x:Key="addressComparer"/&amp;gt;&lt;br/&gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                         Source="{Binding Source={x:Static Application.Current},&lt;br/&gt;                                                          Path=Orders}"&lt;br/&gt;                                         AutoCreateItemProperties="False"&amp;gt;&lt;br/&gt;&lt;br/&gt;         &amp;lt;xcdg:DataGridCollectionViewSource.ItemProperties&amp;gt;&lt;br/&gt;            &amp;lt;xcdg:DataGridItemProperty Name="ShipCountry" /&amp;gt;&lt;br/&gt;            &amp;lt;xcdg:DataGridItemProperty Name="ShipCity" /&amp;gt;&lt;br/&gt;&lt;br/&gt;            &amp;lt;xcdg:DataGridItemProperty Name="ShipAddress"&lt;br/&gt;                                       SortComparer="{StaticResource addressComparer}"/&amp;gt;&lt;br/&gt;            &amp;lt;xcdg:DataGridItemProperty Name="ShipVia" /&amp;gt;&lt;br/&gt;         &amp;lt;/xcdg:DataGridCollectionViewSource.ItemProperties&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;   &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;   &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                         ItemsSource="{Binding Source={StaticResource cvs_orders}}"/&amp;gt;         &lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;&lt;span&gt;The following code provides the implementation of the AddressComparer class.&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;  &lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;  &lt;tbody&gt;  &lt;tr&gt;  &lt;td&gt;&lt;span&gt;&lt;font color="black"&gt;  &lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;VB.NET&lt;/strong&gt;&lt;br/&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;Imports System&lt;br/&gt;Imports System.Collections&lt;br/&gt;Imports System.Data&lt;br/&gt;&lt;br/&gt;Namespace Xceed.Wpf.Documentation&lt;br/&gt;  Public Class AddressComparer&lt;br/&gt;               Implements IComparer&lt;br/&gt;&lt;br/&gt;    Public Sub New()&lt;br/&gt;    End Sub&lt;br/&gt;&lt;br/&gt;    Public Function Compare( x As Object, y As Object ) As Integer Implements IComparer.Compare&lt;br/&gt;      Dim stringX As String = CType( x, String )&lt;br/&gt;      Dim stringY As String = Ctyle( y, String )&lt;br/&gt;      Const digits As String = "0123456789"&lt;br/&gt;&lt;br/&gt;      If( ( digits.IndexOf( stringX( 0 ) ) &amp;gt;= 0 ) And ( digits.IndexOf( stringY( 0 ) ) &amp;gt;= 0 ) ) Then&lt;br/&gt;        Dim index As Integer = 0&lt;br/&gt;        Dim xNumber As System.Text.StringBuilder = New System.Text.StringBuilder()&lt;br/&gt;&lt;br/&gt;        While( ( index &amp;lt; stringX.Length ) And ( digits.IndexOf( stringX( index ) ) &amp;gt;= 0 ) )&lt;br/&gt;          xNumber.Append( stringX( index ) )&lt;br/&gt;          index++&lt;br/&gt;        End While&lt;br/&gt;&lt;br/&gt;        index = 0&lt;br/&gt;        Dim yNumber As System.Text.StringBuilder = New System.Text.StringBuilder()&lt;br/&gt;&lt;br/&gt;        While( ( index &amp;lt; stringY.Length ) And ( digits.IndexOf( stringY( index ) ) &amp;gt;= 0 ) )&lt;br/&gt;          yNumber.Append( stringY( index ) )&lt;br/&gt;          index++&lt;br/&gt;        End While&lt;br/&gt;&lt;br/&gt;        Dim xValue = Long.Parse( xNumber.ToString() )&lt;br/&gt;        Dim yValue As Long = Long.Parse( yNumber.ToString() )&lt;br/&gt;&lt;br/&gt;        If( xValue &amp;gt; yValue ) Then&lt;br/&gt;          Return 1&lt;br/&gt;        End If&lt;br/&gt;&lt;br/&gt;        If( xValue &amp;lt; yValue ) Then&lt;br/&gt;          Return -1&lt;br/&gt;        End If&lt;br/&gt;&lt;br/&gt;        Return stringX.CompareTo( stringY )&lt;br/&gt;      Else&lt;br/&gt;        Return stringX.CompareTo( stringY )&lt;br/&gt;      End If&lt;br/&gt;    End Function&lt;br/&gt;  End Class&lt;br/&gt;End Namespace&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;C#&lt;br/&gt;&lt;/strong&gt;&lt;br/&gt;using System;&lt;br/&gt;using System.Collections;&lt;br/&gt;using System.Data;&lt;br/&gt;&lt;br/&gt;namespace Xceed.Wpf.Documentation&lt;br/&gt;{&lt;br/&gt; public class AddressComparer: IComparer&lt;br/&gt; {&lt;br/&gt;   public AddressComparer()&lt;br/&gt;   {&lt;br/&gt;   }&lt;br/&gt;&lt;br/&gt;   int IComparer.Compare( object x, object y )&lt;br/&gt;   {&lt;br/&gt;     string stringX = ( string )x;&lt;br/&gt;     string stringY = ( string )y;&lt;br/&gt;&lt;br/&gt;     const string digits = "0123456789";&lt;br/&gt;     if( ( digits.IndexOf( stringX[ 0 ] ) &amp;gt;= 0 ) &amp;&amp; ( digits.IndexOf( stringY[ 0 ] ) &amp;gt;= 0 ) )&lt;br/&gt;     {&lt;br/&gt;       int index = 0;&lt;br/&gt;       System.Text.StringBuilder xNumber = new System.Text.StringBuilder();&lt;br/&gt;&lt;br/&gt;       while( ( index &amp;lt; stringX.Length ) &amp;&amp; ( digits.IndexOf( stringX[ index ] ) &amp;gt;= 0 ) )&lt;br/&gt;       {&lt;br/&gt;         xNumber.Append( stringX[ index ] );&lt;br/&gt;         index++;&lt;br/&gt;       }&lt;br/&gt;&lt;br/&gt;       index = 0;&lt;br/&gt;       System.Text.StringBuilder yNumber = new System.Text.StringBuilder();&lt;br/&gt;&lt;br/&gt;       while( ( index &amp;lt; stringY.Length ) &amp;&amp; ( digits.IndexOf( stringY[ index ] ) &amp;gt;= 0 ) )&lt;br/&gt;       {&lt;br/&gt;         yNumber.Append( stringY[ index ] );&lt;br/&gt;         index++;&lt;br/&gt;       }&lt;br/&gt;&lt;br/&gt;       long xValue = long.Parse( xNumber.ToString() );&lt;br/&gt;       long yValue = long.Parse( yNumber.ToString() );&lt;br/&gt;&lt;br/&gt;       if( xValue &amp;gt; yValue )&lt;br/&gt;         return 1;&lt;br/&gt;&lt;br/&gt;       if( xValue &amp;lt; yValue )&lt;br/&gt;         return -1;&lt;br/&gt;&lt;br/&gt;       return stringX.CompareTo( stringY );&lt;br/&gt;     }&lt;br/&gt;     else&lt;br/&gt;     {&lt;br/&gt;       return stringX.CompareTo( stringY );&lt;br/&gt;     }&lt;br/&gt;   }&lt;br/&gt; }&lt;br/&gt;}&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description></item><item><title>Sorting data items</title><link>http://xceed.com/CS/forums/thread/28135.aspx</link><pubDate>Wed, 08 Oct 2008 19:59:37 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28135</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28135.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28135</wfw:commentRss><description>&lt;body&gt;&lt;body&gt;The following example demonstrates how to sort the data items in an ascending direction according to the values of the ShipCountry column.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:scm="clr-namespace:System.ComponentModel;assembly=WindowsBase"&lt;br/&gt;      xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                     Source="{Binding Source={x:Static Application.Current},&lt;br/&gt;                                                       Path=Orders}"&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridCollectionViewSource.SortDescriptions&amp;gt;&lt;br/&gt;       &amp;lt;scm:SortDescription PropertyName="ShipCountry" Direction="Ascending"/&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:DataGridCollectionViewSource.SortDescriptions&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;          &lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:Column FieldName="ShipCountry" VisiblePosition="0"/&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;&lt;/body&gt;</description></item><item><title>Manually handling the insertion process</title><link>http://xceed.com/CS/forums/thread/28134.aspx</link><pubDate>Wed, 08 Oct 2008 19:59:21 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28134</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28134.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28134</wfw:commentRss><description>&lt;body&gt;&lt;body&gt;The following example demonstrates how to manually handle the insertion process of a new item into a collection.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&lt;br/&gt;     xmlns:local="clr-namespace:Xceed.Wpf.Documentation"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_persons"&lt;br/&gt;                                       Source="{Binding Source={x:Static Application.Current},&lt;br/&gt;                                                        Path=PersonList}"&lt;br/&gt;                                       CreatingNewItem="CollectionView_CreatingNewItem"&lt;br/&gt;                                       CommittingNewItem="CollectionView_CommittingNewItem"&lt;br/&gt;                                       CancelingNewItem="CollectionView_CancelingNewItem"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="PersonsGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_persons}}"&amp;gt;&lt;br/&gt;     &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:TableView&amp;gt;&lt;br/&gt;           &amp;lt;xcdg:TableView.FixedHeaders&amp;gt;&lt;br/&gt;              &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;                 &amp;lt;xcdg:InsertionRow/&amp;gt;&lt;br/&gt;              &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;           &amp;lt;/xcdg:TableView.FixedHeaders&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:TableView&amp;gt;&lt;br/&gt;     &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;The following code provides the implementation of the CreatingNewItem, CommittingNewItem, and CancelingNewItem events.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;VB.NET&lt;br/&gt;&lt;/strong&gt;&lt;br/&gt;Private Sub CollectionView_CreatingNewItem( ByVal sender As Object, _&lt;br/&gt;                                            ByVal e As DataGridCreatingNewItemEventArgs )&lt;br/&gt;&lt;br/&gt;  e.NewItem = New Person( Person.AutoIncrementID, String.Empty, String.Empty, -1 )&lt;br/&gt;  e.Handled = True&lt;br/&gt;End Sub&lt;br/&gt;&lt;br/&gt;Private Sub CollectionView_CommittingNewItem( ByVal sender As Object, _&lt;br/&gt;                                              ByVal e As DataGridCommittingNewItemEventArgs )&lt;br/&gt;&lt;br/&gt;  Dim source As List( Of Person ) = CType( e.CollectionView.SourceCollection, List( Of Person ) )&lt;br/&gt;  source.Add( CType( e.Item, Person ) )&lt;br/&gt;  Person.AutoIncrementID = Person.AutoIncrementID + 1&lt;br/&gt;&lt;br/&gt;  ' the new item is always added at the end of the list.&lt;br/&gt;  e.Index = source.Count - 1&lt;br/&gt;  e.NewCount = source.Count&lt;br/&gt;  e.Handled = True&lt;br/&gt;End Sub&lt;br/&gt;&lt;br/&gt;Private Sub CollectionView_CancelingNewItem( ByVal sender As Object, _&lt;br/&gt;                                             ByVal e As DataGridItemHandledEventArgs )&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;  ' Manually handling the insertion of new items requires that the CreatingNewItem,&lt;br/&gt;  ' CommitingNewItem, and CancelingNewItem events must all be handled even if nothing&lt;br/&gt;  ' is done in the event.&lt;br/&gt;  e.Handled = True&lt;br/&gt;End Sub&lt;br/&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;br/&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;private void CollectionView_CreatingNewItem( object sender, DataGridCreatingNewItemEventArgs e )&lt;br/&gt;{&lt;br/&gt; e.NewItem = new Person( Person.AutoIncrementID, string.Empty, string.Empty, -1 );&lt;br/&gt; e.Handled = true;&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;private void CollectionView_CommittingNewItem( object sender, DataGridCommittingNewItemEventArgs e )&lt;br/&gt;{&lt;br/&gt; List&amp;lt;Person&amp;gt; source = e.CollectionView.SourceCollection as List&amp;lt;Person&amp;gt;;&lt;br/&gt; source.Add( ( Person )e.Item );&lt;br/&gt; Person.AutoIncrementID = Person.AutoIncrementID + 1;&lt;br/&gt;&lt;br/&gt; // the new item is always added at the end of the list.     &lt;br/&gt; e.Index = source.Count - 1;&lt;br/&gt; e.NewCount = source.Count;&lt;br/&gt; e.Handled = true;&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;privat</description></item><item><title>Binding to a master/detail data table</title><link>http://xceed.com/CS/forums/thread/28132.aspx</link><pubDate>Wed, 08 Oct 2008 19:59:00 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28132</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28132.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28132</wfw:commentRss><description>&lt;body&gt;&lt;body&gt;The following example demonstrates how to bind a grid to a DataTable that contains DataRelations that will be displayed as child and grandchild detail data. &lt;br/&gt;&lt;br/&gt;The code below demonstrates how to create a connection to the Access version of the Northwind database and create a property named "Employees" that retrieves its values from the Employees data table and to which a child and grandchild detail are added.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;VB.NET&lt;br/&gt;&lt;/strong&gt;&lt;br/&gt;Shared Sub New()&lt;br/&gt;  Dim dataSet As New DataSet()&lt;br/&gt;  Dim mdbfile As String = "Data\Northwind.mdb"&lt;br/&gt;  Dim connString As String = String.Format("Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}", mdbfile)&lt;br/&gt;  Dim conn As New OleDbConnection(connString)&lt;br/&gt;  Dim adapter As New OleDbDataAdapter()&lt;br/&gt;&lt;br/&gt;  m_adapter = New OleDbDataAdapter()&lt;br/&gt;  m_adapter.SelectCommand = New OleDbCommand( "SELECT * FROM Employees;", conn )&lt;br/&gt;  m_adapter.Fill( dataSet, "Employees" )&lt;br/&gt;  m_employees = dataSet.Tables( "Employees" )&lt;br/&gt;  m_adapter = New OleDbDataAdapter()&lt;br/&gt;  m_adapter.SelectCommand = New OleDbCommand( "SELECT * FROM Orders;", conn )&lt;br/&gt;  m_adapter.Fill( dataSet, "Orders" )&lt;br/&gt;  m_orders = dataSet.Tables( "Orders" )&lt;br/&gt; &lt;br/&gt;  m_adapter = New OleDbDataAdapter()&lt;br/&gt;  m_adapter.SelectCommand = New OleDbCommand( "SELECT * FROM [Order Details];", conn )&lt;br/&gt;  m_adapter.Fill( dataSet, "Order Details" )&lt;br/&gt;  m_orderDetails = dataSet.Tables( "Order Details" )&lt;br/&gt;&lt;br/&gt;  m_employees.ChildRelations.Add( New DataRelation( "Employee_Orders", m_employees.Columns( "EmployeeID" ), m_orders.Columns( "EmployeeID" ) ) )&lt;br/&gt;  m_orders.ChildRelations.Add( New DataRelation( "Order_OrderDetails", m_orders.Columns( "OrderID" ), m_orderDetails.Columns( "OrderID" ) ) )&lt;br/&gt;End Sub&lt;br/&gt;&lt;br/&gt;Public Shared ReadOnly Property Employees As DataTable&lt;br/&gt;  Get&lt;br/&gt;    Return m_employees&lt;br/&gt;   End Get&lt;br/&gt;End Property&lt;br/&gt;&lt;br/&gt;Private Shared m_employees As DataTable&lt;br/&gt;Private Shared m_orders As DataTable&lt;br/&gt;Private Shared m_orderDetails As DataTable&lt;br/&gt;Private Shared m_adapter As OleDbDataAdapter = Nothing&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;strong&gt;C#&lt;br/&gt;&lt;br/&gt;&lt;/strong&gt;static App()&lt;br/&gt;{&lt;br/&gt; DataSet dataSet = new DataSet();&lt;br/&gt; string mdbFile = @"Data\Northwind.mdb";&lt;br/&gt; string connString = String.Format( "Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}", mdbFile );&lt;br/&gt; OleDbConnection conn = new OleDbConnection( connString );&lt;br/&gt;&lt;br/&gt;  m_adapter = new OleDbDataAdapter();&lt;br/&gt;  m_adapter.SelectCommand = new OleDbCommand( "SELECT * FROM Employees;", conn );&lt;br/&gt;  m_adapter.Fill( dataSet, "Employees" );&lt;br/&gt;  m_employees = dataSet.Tables[ "Employees" ];    &lt;br/&gt;  m_adapter = new OleDbDataAdapter();&lt;br/&gt;  m_adapter.SelectCommand = new OleDbCommand( "SELECT * FROM Orders;", conn );&lt;br/&gt;  m_adapter.Fill( dataSet, "Orders" );&lt;br/&gt;  m_orders = dataSet.Tables[ "Orders" ];&lt;br/&gt; &lt;br/&gt;  m_adapter = new OleDbDataAdapter();&lt;br/&gt;  m_adapter.SelectCommand = new OleDbCommand( "SELECT * FROM [Order Details];", conn );&lt;br/&gt;  m_adapter.Fill( dataSet, "Order Details" );&lt;br/&gt;  m_orderDetails = dataSet.Tables[ "Order Details" ];&lt;br/&gt;&lt;br/&gt;  m_employees.ChildRelations.Add( new DataRelation( "Employee_Orders", m_employees.Columns[ "EmployeeID" ], m_orders.Columns[ "EmployeeID" ] ) );&lt;br/&gt;  m_orders.ChildRelations.Add( new DataRelation( "Order_OrderDetails", m_orders.Columns[ "OrderID" ], m_orderDetails.Columns[ "OrderID" ] ) );  &lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;public static DataTable Employees&lt;br/&gt;{&lt;br/&gt; get&lt;br/&gt; {&lt;br/&gt;   return m_employees;&lt;br/&gt;  }&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;private static DataTable m_employees;&lt;br/&gt;private static DataTable m_orders;&lt;br/&gt;private static DataTable m_orderDetails;&lt;br/&gt;private static OleDbDataAdapter m_adapter = null;&lt;/font&gt;&lt;br/&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;The following code demonstrates how to bind the grid to the Employees property and provide a detail confi</description></item><item><title>Binding to a LINQ query (SQL)</title><link>http://xceed.com/CS/forums/thread/28130.aspx</link><pubDate>Wed, 08 Oct 2008 19:58:43 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28130</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28130.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28130</wfw:commentRss><description>&lt;body&gt;&lt;body&gt;&lt;p&gt;The following example demonstrates how to bind a grid to an SQL LINQ query and submit any modifications made to the data items using the SubmitChanges method. &lt;/p&gt;
&lt;p&gt;Although existing data items can be modified and the changes committed, it is not possible to insert new data items.&lt;br/&gt;&lt;br/&gt;This example assumes that a new LINQ to SQL Classes item named Northwind.dbml has been added to the project and that it contains the Orders, Customers, and Shippers tables. The Northwind.designer.cs that is created at the same time represents the NorthwindDataContext and should automatically contain all the relevant members. It also assumes that a property named OrdersQuery that returns a new new query based on the value selected in the combo box.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&lt;br/&gt;      xmlns:local="clr-namespace:Xceed.Wpf.Documentation"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                      Source="{Binding RelativeSource={RelativeSource AncestorType={x:Type Window}},&lt;br/&gt;                                                       Path=OrdersQuery}"&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridGroupDescription PropertyName="Shipper"/&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;    &amp;lt;DataTemplate DataType="{x:Type local:Shipper}"&amp;gt;&lt;br/&gt;      &amp;lt;TextBlock Text="{Binding CompanyName}"/&amp;gt;&lt;br/&gt;    &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;    &amp;lt;DataTemplate DataType="{x:Type local:Customer}"&amp;gt;&lt;br/&gt;      &amp;lt;TextBlock Text="{Binding CompanyName}"/&amp;gt;&lt;br/&gt;    &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;    &amp;lt;DataTemplate DataType="{x:Type local:Employee}"&amp;gt;&lt;br/&gt;      &amp;lt;StackPanel Orientation="Horizontal"&amp;gt;&lt;br/&gt;        &amp;lt;TextBlock Text="{Binding FirstName}"/&amp;gt;&lt;br/&gt;        &amp;lt;TextBlock Text=" " /&amp;gt;&lt;br/&gt;        &amp;lt;TextBlock Text="{Binding LastName}"/&amp;gt;&lt;br/&gt;      &amp;lt;/StackPanel&amp;gt;&lt;br/&gt;    &amp;lt;/DataTemplate&amp;gt;        &lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;  &amp;lt;DockPanel&amp;gt;&lt;br/&gt;    &amp;lt;StackPanel Orientation="Horizontal"&lt;br/&gt;                DockPanel.Dock="Top"&amp;gt;&lt;br/&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;      &amp;lt;Button Content="Save Modifications"&lt;br/&gt;              Click="SaveModifications"/&amp;gt;&lt;br/&gt;      &amp;lt;ComboBox x:Name="ShipperCombo"&lt;br/&gt;                ItemsSource="{Binding Source={x:Static Application.Current}, Path=LinqDataContext.Shippers}"&lt;br/&gt;                SelectionChanged="ShipperSelectionChanged"/&amp;gt;&lt;br/&gt;    &amp;lt;/StackPanel&amp;gt;&lt;br/&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;    &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                          ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:Column FieldName="Shipper"&lt;br/&gt;                     VisiblePosition="0"/&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:Column FieldName="OrderID"&lt;br/&gt;                     Visible="False"/&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:Column FieldName="EmployeeID"&lt;br/&gt;                     Visible="False"/&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:Column FieldName="CustomerID"&lt;br/&gt;                     Visible="False"/&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:Column FieldName="Customer"&lt;br/&gt;                     Title="Company Name"/&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:Column FieldName="ShipVia"&lt;br/&gt;                     Visible="False"/&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;  &amp;lt;/DockPanel&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;The Window1 class implements INotifyPropertyChanged so that the DataGridCollectionViewSource can be notified</description></item><item><title>Binding to a LINQ query (XML)</title><link>http://xceed.com/CS/forums/thread/28131.aspx</link><pubDate>Wed, 08 Oct 2008 19:58:32 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28131</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28131.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28131</wfw:commentRss><description>&lt;body&gt;&lt;p&gt;The following example demonstrates how to bind a grid to an XML query on an XDocument that loads the XML version of the Orders table of the Northwind database.&lt;/p&gt;
&lt;p&gt;The content of the resulting grid will not be editable.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                    Source="{Binding RelativeSource={RelativeSource AncestorType={x:Type Window}},&lt;br/&gt;                                     Path=XmlData}"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                       ItemsSource="{Binding Source={StaticResource cvs_orders}}"/&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;The following code provides the implementation for the XmlData property, which returns the query result.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;VB.NET&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Public ReadOnly Property XmlData() As IEnumerable&lt;br/&gt;  Get&lt;br/&gt;    Dim document As XDocument = App.NorthwindDocument&lt;br/&gt;&lt;br/&gt;    Dim data As IEnumerable = From order In document.Element("dataroot").Descendants("Orders") _&lt;br/&gt;                              Select New With {.ShipCountry = order.Element("ShipCountry").Value, _&lt;br/&gt;                                .ShipCity = order.Element("ShipCity").Value, _&lt;br/&gt;                                .ShipAddress = order.Element("ShipAddress").Value, _&lt;br/&gt;                                .ShipName = order.Element("ShipName").Value, _&lt;br/&gt;                                .Freight = order.Element("Freight").Value}&lt;br/&gt;    Return data&lt;br/&gt;  End Get&lt;br/&gt;End Property&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;public IEnumerable XmlData&lt;br/&gt;{&lt;br/&gt; get&lt;br/&gt; {&lt;br/&gt;   XDocument document = App.NorthwindDocument;&lt;br/&gt;&lt;br/&gt;   IEnumerable data = from order in document.Element( "dataroot" ).Descendants( "Orders" )&lt;br/&gt;                      select new&lt;br/&gt;                      {&lt;br/&gt;                        ShipCountry = order.Element( "ShipCountry" ).Value,&lt;br/&gt;                        ShipCity = order.Element( "ShipCity" ).Value,&lt;br/&gt;                        ShipAddress = order.Element( "ShipAddress" ).Value,&lt;br/&gt;                        ShipName = order.Element( "ShipName" ).Value,&lt;br/&gt;                        ShipVia = order.Element( "ShipVia" ).Value,&lt;br/&gt;                        Freight = order.Element( "Freight" ).Value&lt;br/&gt;                      };&lt;br/&gt;   return data;&lt;br/&gt; }&lt;br/&gt;}&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Providing unbound data</title><link>http://xceed.com/CS/forums/thread/28129.aspx</link><pubDate>Wed, 08 Oct 2008 19:58:14 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28129</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28129.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28129</wfw:commentRss><description>The following example demonstrates how to add Person data to a custom ObservableCollection of Person objects. &lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:local="clr-namespace:Xceed.Wpf.Documentation"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:scm="clr-namespace:System.ComponentModel;assembly=WindowsBase"&amp;gt;&lt;br/&gt;&amp;nbsp; &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;lt;local:PersonObservableCollection x:Key="personData"&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;local:Person FirstName="Jenny"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LastName="Beland"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Occupation="Writer"/&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;local:Person FirstName="Francois"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LastName="Carignan"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Occupation="Developer"/&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;local:Person FirstName="Pascal"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LastName="Bourque"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Occupation="Developer"/&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;local:Person FirstName="Michel"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LastName="Fortin"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Occupation="Developer"/&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;local:Person FirstName="Marc"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LastName="Laroche"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Occupation="Developer"/&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;local:Person FirstName="Pierre-Luc"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LastName="Ledoux"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Occupation="Developer"/&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;local:Person FirstName="Mathieu"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LastName="Drimonakos"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Occupation="TechnicalSupport"/&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;local:Person FirstName="Catherine"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LastName="Sauzede"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Occupation="Infograph"/&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/local:PersonObservableCollection&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_person"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;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; ItemType="{x:Type local:Person}"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;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; Source="{StaticResource personData}"&amp;gt</description></item><item><title>Styling a page</title><link>http://xceed.com/CS/forums/thread/28128.aspx</link><pubDate>Wed, 08 Oct 2008 19:57:22 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28128</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28128.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28128</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to create a style to change the layout of the printed pages by providing a new &lt;strong&gt;ControlTemplate&lt;/strong&gt; that will place the page headers and footers at the top of each page and display an orange border around the area where the grid is printed.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&lt;br/&gt;      xmlns:local="clr-namespace:Xceed.Wpf.Documentation"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_employees"&lt;br/&gt;                                     Source="{Binding Source={x:Static Application.Current},&lt;br/&gt;                                                        Path=Employees}"/&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;Style x:Key="page_style" TargetType="{x:Type xcdg:DataGridPageControl}"&amp;gt;&lt;br/&gt;      &amp;lt;Setter Property="Template"&amp;gt;&lt;br/&gt;        &amp;lt;Setter.Value&amp;gt;&lt;br/&gt;          &amp;lt;ControlTemplate TargetType="{x:Type xcdg:DataGridPageControl}"&amp;gt;&lt;br/&gt;            &amp;lt;DockPanel&amp;gt;&lt;br/&gt;              &amp;lt;StackPanel xcdg:DataGridPageControl.IsPageHeadersHost="True"&lt;br/&gt;                          DockPanel.Dock="Top"/&amp;gt;&lt;br/&gt;              &amp;lt;StackPanel xcdg:DataGridPageControl.IsPageFootersHost="True"&lt;br/&gt;                          DockPanel.Dock="Top"/&amp;gt;&lt;br/&gt;              &amp;lt;Border BorderThickness="2"&lt;br/&gt;                      BorderBrush="Orange"&lt;br/&gt;                      xcdg:DataGridPageControl.IsDataGridHost="True"&lt;br/&gt;                      DockPanel.Dock="Bottom"/&amp;gt;&lt;br/&gt;            &amp;lt;/DockPanel&amp;gt;&lt;br/&gt;          &amp;lt;/ControlTemplate&amp;gt;&lt;br/&gt;        &amp;lt;/Setter.Value&amp;gt;&lt;br/&gt;      &amp;lt;/Setter&amp;gt;&lt;br/&gt;    &amp;lt;/Style&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;DockPanel&amp;gt;&lt;br/&gt;    &amp;lt;Button Content="Print Grid"&lt;br/&gt;            Click="PrintGrid"&lt;br/&gt;            DockPanel.Dock="Top"/&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl x:Name="EmployeesGrid"&lt;br/&gt;                          ItemsSource="{Binding Source={StaticResource cvs_employees}}"&amp;gt;&lt;br/&gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridControl.PrintView&amp;gt;&lt;br/&gt;       &amp;lt;xcdg:PrintTableView PageStyle="{StaticResource page_style}"&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:PrintTableView.PageHeaders&amp;gt;&lt;br/&gt;            &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;              &amp;lt;TextBlock Text="Xceed WPF Documentation"&lt;br/&gt;                         HorizontalAlignment="Center"&lt;br/&gt;                         FontWeight="Bold"&lt;br/&gt;                         FontSize="20"/&amp;gt;&lt;br/&gt;            &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;            &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;              &amp;lt;TextBlock Text="Printing Example"&lt;br/&gt;                         HorizontalAlignment="Center"&lt;br/&gt;                         FontSize="16"/&amp;gt;&lt;br/&gt;            &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;          &amp;lt;/xcdg:PrintTableView.PageHeaders&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:PrintTableView.PageFooters&amp;gt;&lt;br/&gt;            &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;              &amp;lt;StackPanel HorizontalAlignment="Right"&lt;br/&gt;                          Orientation="Horizontal"&amp;gt;&lt;br/&gt;                &amp;lt;TextBlock Text="Page "/&amp;gt;&lt;br/&gt;                &amp;lt;TextBlock Text="{xcdg:ViewBinding CurrentPageNumber}"/&amp;gt;&lt;br/&gt;              &amp;lt;/StackPanel&amp;gt;   &lt;br/&gt;            &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;          &amp;lt;/xcdg:PrintTableView.PageFooters&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:PrintTableView&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridControl.PrintView&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;  &amp;lt;/DockPanel&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;The &lt;strong&gt;Print&lt;/strong&gt; method will be called in the button's &lt;strong&gt;Click&lt;/strong&gt; event, whose implementation is provided below.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;VB.NET&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;Private Sub PrintGrid( ByVal sender As Object, ByVal e As RoutedEventArgs )&lt;br/&gt;  Me.EmployeeGrid.Pr</description></item><item><title>Configuring a progress window</title><link>http://xceed.com/CS/forums/thread/28127.aspx</link><pubDate>Wed, 08 Oct 2008 19:57:12 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28127</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28127.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28127</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to change the default text displayed in the progress window when the &lt;strong&gt;Print&lt;/strong&gt; or &lt;strong&gt;ExportToXps&lt;/strong&gt; methods are called. &lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_employees"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current},&lt;br/&gt;                                                     Path=Employees}"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;DockPanel&amp;gt;&lt;br/&gt;    &amp;lt;Button Content="Print Employee Information"&lt;br/&gt;            Click="PrintGrid"&lt;br/&gt;            DockPanel.Dock="Top"/&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl x:Name="EmployeesGrid"&lt;br/&gt;                          ItemsSource="{Binding Source={StaticResource cvs_employees}}"&lt;br/&gt;                          DockPanel.Dock="Bottom"&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridControl.PrintView&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:PrintTableView&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:PrintTableView.ProgressWindowDescription&amp;gt;&lt;br/&gt;            &amp;lt;StackPanel Orientation="Horizontal"&amp;gt;&lt;br/&gt;              &amp;lt;TextBlock Text="Printing page "/&amp;gt;&lt;br/&gt;              &amp;lt;TextBlock Text="{Binding CurrentPageNumber}"/&amp;gt;&lt;br/&gt;              &amp;lt;TextBlock Text=" of employee information..."/&amp;gt;&lt;br/&gt;            &amp;lt;/StackPanel&amp;gt;&lt;br/&gt;          &amp;lt;/xcdg:PrintTableView.ProgressWindowDescription&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:PrintTableView&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridControl.PrintView&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;  &amp;lt;/DockPanel&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt; &lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;The implementation of the PrintGrid method is provided below.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt;&lt;strong&gt;VB.NET&lt;br/&gt;&lt;/strong&gt;&lt;br/&gt;Private Sub PrintGrid( ByVal sender As Object, ByVal e As RoutedEventArgs )&lt;br/&gt;  Me.EmployeesGrid.Print( "EmployeeInformation", True )&lt;br/&gt;End Sub&lt;br/&gt;&lt;/font&gt;&lt;strong&gt;&lt;br/&gt;&lt;font size="1"&gt;C#&lt;br/&gt;&lt;/font&gt;&lt;/strong&gt;&lt;br/&gt;&lt;font size="1"&gt;private void PrintGrid( object sender, RoutedEventArgs e )&lt;br/&gt;{&lt;br/&gt;  this.EmployeesGrid.Print( "EmployeeInformation", true );&lt;br/&gt;}&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;&lt;/body&gt;</description></item><item><title>Configuring a print view</title><link>http://xceed.com/CS/forums/thread/28126.aspx</link><pubDate>Wed, 08 Oct 2008 19:56:56 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28126</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28126.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28126</wfw:commentRss><description>The following example demonstrates how to use a &lt;strong&gt;PrintTableView&lt;/strong&gt; and configure it to display a title in the page headers and the page number in the page footers. The elements added to these sections must be added as &lt;strong&gt;DataTemplates&lt;/strong&gt; and will be repeated on each page. &lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:local="clr-namespace:Xceed.Wpf.Documentation"&amp;gt;&lt;br/&gt;&amp;nbsp; &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_employees"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Source="{Binding Source={x:Static Application.Current},&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;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;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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Path=Employees}"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;&amp;nbsp; &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;&amp;nbsp; &amp;lt;DockPanel&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button Content="Print Grid"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Click="PrintGrid"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DockPanel.Dock="Top"/&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:DataGridControl x:Name="EmployeesGrid"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;nbsp;&amp;nbsp;&amp;nbsp; ItemsSource="{Binding Source={StaticResource cvs_employees}}"&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:DataGridControl.PrintView&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:PrintTableView&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:PrintTableView.PageHeaders&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextBlock Text="Xceed WPF Documentation"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;nbsp; HorizontalAlignment="Center"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;nbsp; FontWeight="Bold"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;nbsp; FontSize="20"/&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextBlock Text="Printing Example"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;nbsp; HorizontalAlignment="Center"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;nbsp; FontSize="16"/&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xcdg:PrintTableView.PageHeaders&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xcdg:Pr</description></item><item><title>Creating a group-configuration selector</title><link>http://xceed.com/CS/forums/thread/28125.aspx</link><pubDate>Wed, 08 Oct 2008 19:56:46 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28125</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28125.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28125</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to create a custom group-configuration selector that will return the appropriate group configuration depending on the number of items in a group. The implementation of the &lt;strong&gt;ItemCountGroupConfigurationSelector&lt;/strong&gt; is provided below.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                       Source="{Binding Source={x:Static Application.Current},&lt;br/&gt;                                                        Path=Orders}"&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;              &lt;br/&gt;        &amp;lt;xcdg:DataGridGroupDescription PropertyName="ShipCity" /&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="1"&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;    &amp;lt;xcdg:DataGridControl.GroupConfigurationSelector&amp;gt;&lt;br/&gt;      &amp;lt;local:ItemCountGroupConfigurationSelector MinItemCount="10" /&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.GroupConfigurationSelector&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;The following code provides the implementation of the &lt;strong&gt;ItemCountGroupConfigurationSelector&lt;/strong&gt;.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&lt;strong&gt;VB.NET&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Public Class ItemCountGroupConfigurationSelector&lt;br/&gt;               Inherits GroupConfigurationSelector&lt;br/&gt;    Public Sub New&lt;br/&gt;    End Sub&lt;br/&gt;&lt;br/&gt;    Public Overrides Function SelectGroupConfiguration( ByVal groupLevel As Integer, _&lt;br/&gt;                    ByVal collectionViewGroup As System.Windows.Data.CollectionViewGroup, _&lt;br/&gt;                    ByVal groupDescription As System.ComponentModel.GroupDescription ) As GroupConfiguration&lt;br/&gt;&lt;br/&gt;      If collectionViewGroup Is Nothing Then&lt;br/&gt;        Return MyBase.SelectGroupConfiguration( groupLevel, collectionViewGroup, groupDescription )&lt;br/&gt;      End If&lt;br/&gt;&lt;br/&gt;      Dim groupConfiguration As New GroupConfiguration()&lt;br/&gt;      Dim style As New Style( GetType( Xceed.Wpf.DataGrid.DataRow ) )&lt;br/&gt;&lt;br/&gt;      If collectionViewGroup.ItemCount &amp;lt;= m_minItemCount Then ' red&lt;br/&gt;        style.Setters.Add( New Setter( Xceed.Wpf.DataGrid.DataRow.BackgroundProperty, Brushes.Red ) )&lt;br/&gt;      Else ' green&lt;br/&gt;        style.Setters.Add( New Setter( Xceed.Wpf.DataGrid.DataRow.BackgroundProperty, Brushes.LightGreen ) )&lt;br/&gt;      End If&lt;br/&gt;&lt;br/&gt;      groupConfiguration.ItemContainerStyle = style&lt;br/&gt;      Return groupConfiguration&lt;br/&gt;    End Function&lt;br/&gt;&lt;br/&gt;    Private m_minItemCount As Integer = 0&lt;br/&gt;    Public Property MinItemCount As Integer&lt;br/&gt;      Get&lt;br/&gt;        Return m_minItemCount&lt;br/&gt;      End Get&lt;br/&gt;      Set&lt;br/&gt;        m_minItemCount = value&lt;br/&gt;    End Property&lt;br/&gt;  End Class&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size="1"&gt;public class ItemCountGroupConfigurationSelector : GroupConfigurationSelector&lt;br/&gt;  {&lt;br/&gt;    public ItemCountGroupConfigurationSelector()&lt;br/&gt;    {&lt;br/&gt;    } &lt;br/&gt;&lt;br/&gt;   public override GroupConfiguration SelectGroupConfiguration( int groupLevel,&lt;br/&gt;                   System.Windows.Data.CollectionViewGroup collectionViewGroup,&lt;br/&gt;                   System.ComponentModel.GroupDescription groupDescription )&lt;br/&gt;   {&lt;br/&gt;     if( collectionViewGroup == null )&lt;br/&gt;       return base.SelectGroupConfiguration( groupLevel, collectionViewGroup, groupDescription );&lt;br/&gt;&lt;br/&gt;     GroupConfiguration groupConfiguration = new Group</description></item><item><title>Providing a group-configuration selector</title><link>http://xceed.com/CS/forums/thread/28124.aspx</link><pubDate>Wed, 08 Oct 2008 19:56:34 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28124</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28124.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28124</wfw:commentRss><description>&lt;body&gt;&lt;p&gt;The following example demonstrates how to provide a &lt;strong&gt;FieldNameGroupConfigurationSelector&lt;/strong&gt; that will apply the defined group configuration to all groups that are created from the values of the column corresponding to the specified field name.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                       Source="{Binding Source={x:Static Application.Current},&lt;br/&gt;                                                        Path=Orders}"&amp;gt;&lt;br/&gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridGroupDescription PropertyName="ShipCountry" /&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridGroupDescription PropertyName="ShipCity" /&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl.GroupConfigurationSelector&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:FieldNameGroupConfigurationSelector&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:FieldNameGroupConfigurationSelectorItem FieldName="ShipCity"&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:FieldNameGroupConfigurationSelectorItem.GroupConfiguration&amp;gt;&lt;br/&gt;            &amp;lt;xcdg:GroupConfiguration&amp;gt;&lt;br/&gt;              &amp;lt;xcdg:GroupConfiguration.Footers&amp;gt;&lt;br/&gt;                &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;                  &amp;lt;xcdg:InsertionRow /&amp;gt;&lt;br/&gt;                &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;              &amp;lt;/xcdg:GroupConfiguration.Footers&amp;gt;&lt;br/&gt;            &amp;lt;/xcdg:GroupConfiguration&amp;gt;&lt;br/&gt;          &amp;lt;/xcdg:FieldNameGroupConfigurationSelectorItem.GroupConfiguration&amp;gt;                 &lt;br/&gt;        &amp;lt;/xcdg:FieldNameGroupConfigurationSelectorItem&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:FieldNameGroupConfigurationSelector&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.GroupConfigurationSelector&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;/body&gt;</description></item><item><title>Defining a default group configuration</title><link>http://xceed.com/CS/forums/thread/28123.aspx</link><pubDate>Wed, 08 Oct 2008 19:55:04 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28123</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28123.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28123</wfw:commentRss><description>&lt;body&gt;&lt;span&gt;The following example demonstrates how to provide a default group configuration.&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="1"&gt; &amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;    &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current},&lt;br/&gt;                                                      Path=Orders}"&amp;gt;&lt;br/&gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:DataGridGroupDescription PropertyName="ShipCountry"/&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:DataGridGroupDescription PropertyName="ShipCity"/&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;br/&gt;    &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;&lt;br/&gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridControl.DefaultGroupConfiguration&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:GroupConfiguration&amp;gt;&lt;br/&gt;          &amp;lt;xcdg:GroupConfiguration.Footers&amp;gt;&lt;br/&gt;            &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;              &amp;lt;xcdg:InsertionRow/&amp;gt;&lt;br/&gt;            &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;          &amp;lt;/xcdg:GroupConfiguration.Footers&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:GroupConfiguration&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridControl.DefaultGroupConfiguration&amp;gt;      &lt;br/&gt;    &amp;lt;/xcdg:DataGridControl&amp;gt; &lt;br/&gt;  &amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Preventing group and sorting</title><link>http://xceed.com/CS/forums/thread/28122.aspx</link><pubDate>Wed, 08 Oct 2008 19:54:54 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28122</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28122.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28122</wfw:commentRss><description>&lt;body&gt;The following example demonstrates how to bind a grid to the Orders table and prevent columns from being sorted and reordered and groups from being created or removed. By default, the ShipCountry and ShipCity columns will be sorted, grouped, and fixed.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;font size="2"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&lt;br/&gt;      xmlns:d="clr-namespace:System.Windows.Data;assembly=PresentationFramework"&lt;br/&gt;      xmlns:scm="clr-namespace:System.ComponentModel;assembly=WindowsBase"&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current},&lt;br/&gt;                                                      Path=Orders}"&amp;gt;&lt;br/&gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridCollectionViewSource.SortDescriptions&amp;gt;&lt;br/&gt;        &amp;lt;scm:SortDescription PropertyName="ShipCountry" Direction="Ascending"/&amp;gt;&lt;br/&gt;        &amp;lt;scm:SortDescription PropertyName="ShipCity" Direction="Ascending"/&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridCollectionViewSource.SortDescriptions&amp;gt;&lt;br/&gt;&lt;br/&gt;      &amp;lt;xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridGroupDescription PropertyName="ShipCountry"/&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridGroupDescription PropertyName="ShipCity"/&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridCollectionViewSource.GroupDescriptions&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;br/&gt;&lt;br/&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"&amp;gt;      &lt;br/&gt;    &amp;lt;xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:Column FieldName="ShipCountry" VisiblePosition="0"/&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:Column FieldName="ShipCity" VisiblePosition="1"/&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.Columns&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;      &amp;lt;xcdg:TableView FixedColumnCount="2" UseDefaultHeadersFooters="False"&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:TableView.FixedHeaders&amp;gt;&lt;br/&gt;          &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;            &amp;lt;xcdg:GroupByControl AllowSort="False" AllowGroupingModification="False"/&amp;gt;&lt;br/&gt;          &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;          &amp;lt;DataTemplate&amp;gt;&lt;br/&gt;            &amp;lt;xcdg:ColumnManagerRow AllowSort="False" AllowColumnReorder="False"/&amp;gt;&lt;br/&gt;          &amp;lt;/DataTemplate&amp;gt;&lt;br/&gt;        &amp;lt;/xcdg:TableView.FixedHeaders&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:TableView&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridControl.View&amp;gt;&lt;br/&gt;  &amp;lt;/xcdg:DataGridControl&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Enabling automatic filtering</title><link>http://xceed.com/CS/forums/thread/28121.aspx</link><pubDate>Wed, 08 Oct 2008 19:53:56 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28121</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28121.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28121</wfw:commentRss><description>&lt;body&gt;&lt;span&gt;The following example demonstrates how to enable automatic filtering, disabling it for the columns that will not support it and filtering the distinct values of the &lt;em&gt;ShipCity &lt;/em&gt;column.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;/font&gt; 
&lt;p&gt;&lt;font size="1"&gt;  &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                     Source="{Binding Source={x:Static Application.Current},&lt;br/&gt;                                                      Path=Orders}"&lt;br/&gt;                                     AutoFilterMode="And"&lt;br/&gt;                                     DistinctValuesConstraint="Filtered"&lt;br/&gt;                                     AutoCreateItemProperties="False"&amp;gt;      &lt;br/&gt;       &amp;lt;xcdg:DataGridCollectionViewSource.ItemProperties&amp;gt;&lt;br/&gt;         &amp;lt;xcdg:DataGridItemProperty Name="ShipCountry"&lt;br/&gt;                                          Title="Country"/&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;         &amp;lt;xcdg:DataGridItemProperty Name="ShipCity"&lt;br/&gt;                                   Title="City"/&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridItemProperty Name="ShipAddress"&lt;br/&gt;                                   Title="Address"/&amp;gt;&lt;br/&gt;        &amp;lt;xcdg:DataGridItemProperty Name="ShipPostalCode"&lt;br/&gt;                                   Title="Postal Code"/&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;         &amp;lt;xcdg:DataGridItemProperty Name="ShipName"&lt;br/&gt;                                   Title="Name"&lt;br/&gt;                                   CalculateDistinctValues="False"/&amp;gt;&lt;br/&gt;         &amp;lt;xcdg:DataGridItemProperty Name="OrderDate"&lt;br/&gt;                                   Title="Order Date"&lt;br/&gt;                                   CalculateDistinctValues="False"/&amp;gt;               &lt;br/&gt;         &amp;lt;xcdg:DataGridItemProperty Name="Freight"&lt;br/&gt;                                   CalculateDistinctValues="False"/&amp;gt;&lt;br/&gt;      &amp;lt;/xcdg:DataGridCollectionViewSource.ItemProperties&amp;gt;&lt;br/&gt;    &amp;lt;/xcdg:DataGridCollectionViewSource&amp;gt;       &lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"/&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;/body&gt;</description></item><item><title>Filtering data items (Filter Event)</title><link>http://xceed.com/CS/forums/thread/28120.aspx</link><pubDate>Wed, 08 Oct 2008 19:53:45 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28120</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28120.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28120</wfw:commentRss><description>&lt;body&gt;&lt;span&gt;The following example demonstrates how to filter the data items displayed in a grid using the &lt;strong&gt;Filter &lt;/strong&gt;event. Only the data items whose &lt;em&gt;ShipVia &lt;/em&gt;property value is "3" will be displayed in the grid.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                       Source="{Binding Source={x:Static Application.Current},&lt;br/&gt;                                                        Path=Orders}"&lt;br/&gt;                                       Filter="ShipViaFilter"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="1"&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"/&amp;gt;&lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;br/&gt;&lt;span&gt;The following code provides the implementation of the ShipViaFilter event. This code should be placed in the "code-behind" of your XAML page.&lt;br/&gt;&lt;/span&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&lt;font size="1"&gt;VB.NET&lt;br/&gt;&lt;/font&gt;&lt;/strong&gt;&lt;font size="1"&gt;&lt;br/&gt;Private Sub ShipViaFilter( sender As Object, e As FilterEventArgs )&lt;br/&gt;  Dim value As Object = CType( e.Item, System.Data.DataRow )( "ShipVia" )&lt;/font&gt; 
&lt;p&gt;&lt;font size="1"&gt;  If( Not value Is Nothing ) And ( Not value Is DBNull.Value ) Then&lt;br/&gt;    If CInt( value ) = 3 Then&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;      e.Accepted = True&lt;br/&gt;    Else&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;      e.Accepted = False&lt;br/&gt;    End If&lt;br/&gt;  End If&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;End Sub&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;strong&gt;&lt;font size="1"&gt;C#&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;private void ShipViaFilter( object sender, FilterEventArgs e )&lt;br/&gt;{&lt;br/&gt;  object value = ( ( System.Data.DataRow )e.Item )[ "ShipVia" ];  &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;  if( ( value != null ) &amp;&amp; ( value != DBNull.Value ) )&lt;br/&gt;  {&lt;br/&gt;    if( ( int )value == 3 )&lt;br/&gt;    {&lt;br/&gt;     e.Accepted = true;&lt;br/&gt;    }&lt;br/&gt;    else&lt;br/&gt;    {&lt;br/&gt;     e.Accepted = false;&lt;br/&gt;    }&lt;br/&gt;  }    &lt;br/&gt;}&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</description></item><item><title>Using a masked text box</title><link>http://xceed.com/CS/forums/thread/28119.aspx</link><pubDate>Wed, 08 Oct 2008 19:53:21 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28119</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28119.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28119</wfw:commentRss><description>&lt;body&gt;&lt;span&gt;The following example demonstrates how to use the MaskedTextBox control outside a grid to allow a user to input a fictious identity number. The foreground color of the masked text box will change from red when it contains invalid text (&lt;strong&gt;HasParsingError&lt;/strong&gt;), to blue when all required characters have been inputted (&lt;strong&gt;IsMaskCompleted&lt;/strong&gt;), to green when all characters, required and optional, have been inputted (&lt;strong&gt;IsMaskFull&lt;/strong&gt;).&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&lt;br/&gt;      xmlns:s="clr-namespace:System;assembly=mscorlib"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;  &lt;/font&gt;
&lt;p&gt;&lt;font size="1"&gt;&amp;lt;Style TargetType="{x:Type xcdg:MaskedTextBox}"&amp;gt;&lt;br/&gt;      &amp;lt;Style.Triggers&amp;gt;&lt;br/&gt;         &amp;lt;Trigger Property="HasParsingError" Value="True"&amp;gt;&lt;br/&gt;            &amp;lt;Setter Property="Foreground" Value="Red" /&amp;gt;&lt;br/&gt;         &amp;lt;/Trigger&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;         &amp;lt;Trigger Property="IsMaskCompleted" Value="True"&amp;gt;&lt;br/&gt;           &amp;lt;Setter Property="Foreground" Value="Blue" /&amp;gt;&lt;br/&gt;        &amp;lt;/Trigger&amp;gt;&lt;br/&gt;       &lt;br/&gt;        &amp;lt;Trigger Property="IsMaskFull" Value="True"&amp;gt;&lt;br/&gt;           &amp;lt;Setter Property="Foreground" Value="Green" /&amp;gt;&lt;br/&gt;        &amp;lt;/Trigger&amp;gt;&lt;br/&gt;     &amp;lt;/Style.Triggers&amp;gt;&lt;br/&gt;  &amp;lt;/Style&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;    &amp;lt;xcdg:MaskedTextBox Mask="&amp;gt;LLLL 000000 ??"&lt;br/&gt;                        PromptChar="-"&lt;br/&gt;                        AllowPromptAsInput="True"&lt;br/&gt;                        ResetOnPrompt="True"&lt;br/&gt;                        ResetOnSpace="True"&lt;br/&gt;                        Height="Auto"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;/body&gt;</description></item><item><title>Entering edit when a cell is current</title><link>http://xceed.com/CS/forums/thread/28118.aspx</link><pubDate>Wed, 08 Oct 2008 19:53:11 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:28118</guid><dc:creator>Xceed admin</dc:creator><slash:comments>0</slash:comments><comments>http://xceed.com/CS/forums/thread/28118.aspx</comments><wfw:commentRss>http://xceed.com/CS/forums/commentrss.aspx?SectionID=79&amp;PostID=28118</wfw:commentRss><description>&lt;body&gt;&lt;span&gt;The following example demonstrates how to enter edit mode only when a cell becomes current by setting the &lt;strong&gt;EditTriggers&lt;/strong&gt; property to &lt;strong&gt;CellIsCurrent&lt;/strong&gt;.&lt;br/&gt;&lt;br/&gt;
&lt;table cellspacing="2" cellpadding="2" width="100%" bgcolor="#e8e8e8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt; &lt;font size="1"&gt;&amp;lt;Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"&amp;gt;&lt;br/&gt;  &amp;lt;Grid.Resources&amp;gt;&lt;br/&gt;    &amp;lt;xcdg:DataGridCollectionViewSource x:Key="cvs_orders"&lt;br/&gt;                                    Source="{Binding Source={x:Static Application.Current},&lt;br/&gt;                                     Path=Orders}"/&amp;gt;&lt;br/&gt;  &amp;lt;/Grid.Resources&amp;gt;&lt;/font&gt; 
&lt;p&gt;&lt;font size="1"&gt;  &amp;lt;xcdg:DataGridControl x:Name="OrdersGrid"&lt;br/&gt;                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"&lt;br/&gt;                        EditTriggers="CellIsCurrent"/&amp;gt;      &lt;br/&gt;&amp;lt;/Grid&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;/body&gt;</description></item></channel></rss>