<?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>Tech Side : Excel</title><link>http://xceed.com/CS/blogs/techside/archive/tags/Excel/default.aspx</link><description>Tags: Excel</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Debug Build: 61120.2)</generator><item><title>How To Add Excel Like Selection of DataCells In Xceed DataGridControl</title><link>http://xceed.com/CS/blogs/techside/archive/2011/09/27/how-to-add-excel-like-selection-of-datacells-in-xceed-datagridcontrol.aspx</link><pubDate>Wed, 28 Sep 2011 00:45:00 GMT</pubDate><guid isPermaLink="false">14592c03-f9d0-4f6b-b4cd-71e0e1b1f679:31104</guid><dc:creator>Michel [Xceed]</dc:creator><slash:comments>2</slash:comments><comments>http://xceed.com/CS/blogs/techside/comments/31104.aspx</comments><wfw:commentRss>http://xceed.com/CS/blogs/techside/commentrss.aspx?PostID=31104</wfw:commentRss><description>&lt;p&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:black;FONT-SIZE:9pt;"&gt;Recently, we had a question here at technical support asking if we had "&lt;b&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';"&gt;&lt;a target="_blank" href="http://download3.xceedsoft.com/packages/Temp/TechSideBlogs/michel/ExcelLikeSelectionDataGrid.zip"&gt;Excel Like Selection of DataCells&lt;/a&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;".&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:black;FONT-SIZE:9pt;"&gt;Well... we don't! When &lt;i style="mso-bidi-font-style:normal;"&gt;SelectionUnit&lt;/i&gt; is set to &lt;i style="mso-bidi-font-style:normal;"&gt;Cell&lt;/i&gt; on &lt;i style="mso-bidi-font-style:normal;"&gt;DataGridControl&lt;/i&gt; it is possible to make your selection on a cell-by-cell basis and to select multiple cells at once by Shift Clicking but still, that is not what some clients expect, especially if they are used to an Excel-like selection. That is, clicking on one cell, holding down the mouse key and as you move the mouse around, the cells in the rectangle formed by the clicked cell and the current location of the mouse should dynamically become selected and the content should scroll as you move your mouse to the edges of the &lt;i style="mso-bidi-font-style:normal;"&gt;DataGridControl&lt;/i&gt; .&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:black;FONT-SIZE:9pt;"&gt;But of course, nothing is impossible! This behavior can be achieved but it requires a little extra&amp;nbsp;work.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:black;FONT-SIZE:9pt;"&gt;This post will show how to customize the&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';FONT-WEIGHT:normal;mso-bidi-font-weight:bold;"&gt;DataGridControl&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;in order to add this functionality. The &lt;a href="http://download3.xceedsoft.com/packages/Temp/TechSideBlogs/michel/ExcelLikeSelectionDataGrid.zip"&gt;demo application&lt;/a&gt;&amp;nbsp;is provided below.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:black;FONT-SIZE:9pt;"&gt;First thing we need to do is to create a custom&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';FONT-WEIGHT:normal;mso-bidi-font-weight:bold;"&gt;DataGridControl&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;, in this post I will name my class&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';FONT-WEIGHT:normal;mso-bidi-font-weight:bold;"&gt;ExelSelectionDataGrid&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-converted-space"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;which&amp;nbsp;inherits from &lt;i style="mso-bidi-font-style:normal;"&gt;DataGridControl&lt;/i&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:black;FONT-SIZE:9pt;"&gt;We will keep a reference to the first clicked cell and the cell that lies under the mouse as the mouse moves. We will then dynamically calculate and add the ranges of cells that lie in the rectangle bounded by the first clicked cell and the cell beneath the mouse to the&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';FONT-WEIGHT:normal;mso-bidi-font-weight:bold;"&gt;SelectedCellRanges&lt;/span&gt;&lt;/b&gt;&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;collection of the datagrid instance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:black;FONT-SIZE:9pt;"&gt;For that, we would need to override the following:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;OnPreviewMouseLeftButtonDown&lt;/span&gt;&lt;/i&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:black;FONT-SIZE:9pt;"&gt;In order to get the keep track of the first clicked cell&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;OnPreviewMouseMove&lt;/span&gt;&lt;/i&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:black;FONT-SIZE:9pt;"&gt;where we get the cell that is currently under the mouse, find the ranges between the first cell and the current cell and update the selected ranges, and finally scroll the &lt;i style="mso-bidi-font-style:normal;"&gt;DataGridControl&lt;/i&gt;&amp;nbsp;if we are close to any of the&amp;nbsp;edges if possible.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;OnPreviewMouseLeftButtonUp only to set our selection flag to false.&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:black;FONT-SIZE:9pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;Getting the cell under the mouse can easily be acheived by using the VisualTreeHelperClass. This is how I used it:&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:black;FONT-SIZE:9pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0.7pt;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:blue;FONT-SIZE:9pt;"&gt;private&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;DataCell&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;getDataCellUnderMouse(&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;MouseEventArgs&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;e)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0.7pt;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0.7pt;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HitTestResult&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;result =&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;VisualTreeHelper&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;.HitTest(&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:blue;FONT-SIZE:9pt;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;, e.MouseDevice.GetPosition(&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:blue;FONT-SIZE:9pt;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0.7pt;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;DependencyObject&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;obj = result.VisualHit;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0.7pt;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:blue;FONT-SIZE:9pt;"&gt;var&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;ctype =&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:blue;FONT-SIZE:9pt;"&gt;typeof&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;(&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;DataCell&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0.7pt;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:blue;FONT-SIZE:9pt;"&gt;if&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;(obj !=&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:blue;FONT-SIZE:9pt;"&gt;null&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0.7pt;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0.7pt;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:blue;FONT-SIZE:9pt;"&gt;var&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;otype = obj.GetType();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0.7pt;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:blue;FONT-SIZE:9pt;"&gt;while&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;(obj !=&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:blue;FONT-SIZE:9pt;"&gt;null&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&amp;amp;&amp;amp; (obj&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:blue;FONT-SIZE:9pt;"&gt;as&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;DataCell&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;) ==&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:blue;FONT-SIZE:9pt;"&gt;null&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0.7pt;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0.7pt;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;obj =&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;VisualTreeHelper&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;.GetParent(obj);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0.7pt;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0.7pt;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0.7pt;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:blue;FONT-SIZE:9pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;obj as&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;DataCell&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0.7pt;"&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&amp;nbsp;Manually scrolling the datagrid would require access to the scroll viewer, this can be reached through the following:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;ScrollViewer&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;sv = (&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#2b91af;FONT-SIZE:9pt;"&gt;ScrollViewer&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;)&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:blue;FONT-SIZE:9pt;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;.Template.FindName(&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#a31515;FONT-SIZE:9pt;"&gt;"PART_ScrollViewer"&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;,&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:blue;FONT-SIZE:9pt;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;So this is&amp;nbsp;the entire class:&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;using&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; System;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;using&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; System.Collections.Generic;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;using&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; System.Linq;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;using&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; System.Text;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;using&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; Xceed.Wpf.DataGrid;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;using&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; System.Windows;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;using&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; System.Windows.Controls;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;using&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; System.Windows.Input;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;using&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; System.Diagnostics;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;using&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; System.Windows.Media;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;using&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; Xceed.Wpf.DataGrid.Views;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;namespace&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; ExcelLikeSelectionDataGrid&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;class&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;ExelSelectionDataGrid&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; : &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;DataGridControl&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;public&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; ExelSelectionDataGrid()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.Loaded += &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;new&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;RoutedEventHandler&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;(CustomDataGridControl_Loaded);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;void&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; CustomDataGridControl_Loaded(&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;object&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; sender, &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;RoutedEventArgs&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; e)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sv = (&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;ScrollViewer&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;)&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.Template.FindName(&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#a31515;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;"PART_ScrollViewer"&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;, &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;ScrollViewer&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; sv;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;int&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; firstItemIndex;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;int&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; secondItemIndex;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;int&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; firstColumnIndex;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;int&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; secondColumnIndex;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;protected&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;override&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;void&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; OnPreviewMouseMove(&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;MouseEventArgs&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; e)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;base&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.OnPreviewMouseMove(e);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; (isSelecting)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;DataCell&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; cellUnderMouse = getDataCellUnderMouse(e);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; (cellUnderMouse != &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;null&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;int&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; columnIndex = &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.Columns[cellUnderMouse.FieldName].VisiblePosition;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;int&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; itemIndex = &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.Items.IndexOf(cellUnderMouse.DataContext);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; ((columnIndex != secondColumnIndex || itemIndex != secondItemIndex) &amp;amp;&amp;amp; columnIndex &amp;gt;= 0 &amp;amp;&amp;amp; itemIndex &amp;gt;= 0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;secondColumnIndex = columnIndex;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;secondItemIndex = itemIndex;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;UpdateSelection();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;Point&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; mousePosition = &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;Mouse&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.GetPosition(&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; (mousePosition.Y &amp;gt; (&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.ActualHeight - 10))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;double&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; calculatedVerticalOffset = sv.VerticalOffset + 3 * (&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.View &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;as&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;TableflowView&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;).ContainerHeight; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;sv.ScrollToVerticalOffset(calculatedVerticalOffset);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; (mousePosition.X &amp;gt; (&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.ActualWidth - 10))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;double&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; calculatedHorizontalOffset = sv.HorizontalOffset + 3 * 50.0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;sv.ScrollToHorizontalOffset(calculatedHorizontalOffset);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; (mousePosition.Y &amp;lt; (10))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;double&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; calculatedVerticalOffset = sv.VerticalOffset - 3 * (&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.View &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;as&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;TableflowView&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;).ContainerHeight;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;sv.ScrollToVerticalOffset(calculatedVerticalOffset);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; (mousePosition.X &amp;lt; 10)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;double&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; calculatedHorizontalOffset = sv.HorizontalOffset - 3 * 50.0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;sv.ScrollToHorizontalOffset(calculatedHorizontalOffset);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;protected&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;override&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;void&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; OnPreviewMouseLeftButtonDown(&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;MouseButtonEventArgs&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; e)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;base&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.OnPreviewMouseRightButtonDown(e);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;DataCell&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; clickedCell = getDataCellUnderMouse(e);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; (clickedCell != &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;null&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;isSelecting = &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;true&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;firstColumnIndex = &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.Columns[clickedCell.FieldName].VisiblePosition;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;firstItemIndex = &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.Items.IndexOf(clickedCell.DataContext);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;protected&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;override&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;void&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; OnPreviewMouseLeftButtonUp(&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;MouseButtonEventArgs&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; e)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;isSelecting = &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;false&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;private&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;void&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; UpdateSelection()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; (!(&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;Keyboard&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.Modifiers == &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;ModifierKeys&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.Shift))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.SelectedCellRanges.Clear();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.SelectedCellRanges.Add(&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;new&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;SelectionCellRange&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;(firstItemIndex, firstColumnIndex, secondItemIndex, secondColumnIndex));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;bool&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; isSelecting = &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;false&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;private&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;DataCell&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; getDataCellUnderMouse(&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;MouseEventArgs&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; e)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;HitTestResult&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; result = &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;VisualTreeHelper&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.HitTest(&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;, e.MouseDevice.GetPosition(&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;DependencyObject&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; obj = result.VisualHit;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;var&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; ctype = &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;typeof&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;(&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;DataCell&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;if&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; (obj != &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;null&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;var&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; otype = obj.GetType();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;while&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; (obj != &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;null&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; &amp;amp;&amp;amp; (obj &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;as&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;DataCell&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;) == &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;null&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;obj = &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;VisualTreeHelper&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;.GetParent(obj);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&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; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;return&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; obj &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;as&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#2b91af;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;DataCell&lt;/span&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="LINE-HEIGHT:normal;MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';COLOR:#353535;FONT-SIZE:9pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family:Calibri;font-size:12px;line-height:13px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;I will not go through the code details here. It should be straightforward to understand once you look at it. You can download a sample application &lt;a target="_blank" href="http://download3.xceedsoft.com/packages/Temp/TechSideBlogs/michel/ExcelLikeSelectionDataGrid.zip"&gt;here&lt;/a&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:'Arial','sans-serif';BACKGROUND:white;COLOR:#353535;FONT-SIZE:9pt;"&gt;Please, add your comments and suggestions below. Let me know if you find a better way to acheive this or if you find any bugs in my code ;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-SIZE:9pt;"&gt;&lt;o:p&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://xceed.com/CS/aggbug.aspx?PostID=31104" width="1" height="1"&gt;</description><category domain="http://xceed.com/CS/blogs/techside/archive/tags/TechSide/default.aspx">TechSide</category><category domain="http://xceed.com/CS/blogs/techside/archive/tags/WPF/default.aspx">WPF</category><category domain="http://xceed.com/CS/blogs/techside/archive/tags/Binding/default.aspx">Binding</category><category domain="http://xceed.com/CS/blogs/techside/archive/tags/Excel/default.aspx">Excel</category><category domain="http://xceed.com/CS/blogs/techside/archive/tags/DataGridControl/default.aspx">DataGridControl</category><category domain="http://xceed.com/CS/blogs/techside/archive/tags/Xceed/default.aspx">Xceed</category><category domain="http://xceed.com/CS/blogs/techside/archive/tags/Selection/default.aspx">Selection</category></item></channel></rss>