From aaf26735f92d87e7002b9ff4d3368eb46fddd2f0 Mon Sep 17 00:00:00 2001 From: PeterForstmeier Date: Sun, 4 Sep 2011 12:20:55 +0200 Subject: [PATCH] Scroll behind nr of TreeEntrys --- .../Src/Controls/TreeMatrixControl.xaml | 12 +++++----- .../Src/Controls/TreeMatrixControl.xaml.cs | 23 +++++++++++-------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml b/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml index 1fd9e2c9d3..2c4b5265e0 100644 --- a/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml +++ b/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml @@ -61,12 +61,12 @@ HorizontalAlignment="Stretch" Background="LightGray"> + Grid.Column="2" + Grid.Row="2" + CanContentScroll="True" + VerticalScrollBarVisibility="Visible" + HorizontalScrollBarVisibility="Visible" + ScrollChanged="ScrollViewer_ScrollChanged"> diff --git a/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs b/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs index 9cd50c3ff9..a2eca0b984 100644 --- a/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs +++ b/src/AddIns/Analysis/CodeQuality/Src/Controls/TreeMatrixControl.xaml.cs @@ -65,29 +65,34 @@ namespace ICSharpCode.CodeQualityAnalysis.Controls topScrollViewer = Helper.FindVisualChild(topTree); } + void OnHoverChanged (object sender ,HoveredCellEventArgs e) { - var leftNode = leftTree.Items[e.HoveredCell.RowIndex] as DependecyTreeNode; - leftTree.SelectedItem = leftNode; - leftTree.FocusNode(leftNode); - - var topNode = topTree.Items[e.HoveredCell.ColumnIndex] as DependecyTreeNode; - topTree.SelectedItem = topNode; - topTree.FocusNode(topNode); + if (e.HoveredCell.RowIndex < leftTree.Items.Count) { + var leftNode = leftTree.Items[e.HoveredCell.RowIndex] as DependecyTreeNode; + leftTree.SelectedItem = leftNode; + leftTree.FocusNode(leftNode); + } + if (e.HoveredCell.ColumnIndex < topTree.Items.Count ) + { + var topNode = topTree.Items[e.HoveredCell.ColumnIndex] as DependecyTreeNode; + topTree.SelectedItem = topNode; + topTree.FocusNode(topNode); + } } void LeftTree_ScrollChanged(object sender, ScrollChangedEventArgs e) { // Console.WriteLine("Left TreeScroll"); - scrollViewer.ScrollToVerticalOffset(e.VerticalOffset * matrixControl.CellHeight); +// scrollViewer.ScrollToVerticalOffset(e.VerticalOffset * matrixControl.CellHeight); Console.WriteLine("--"); } void TopTree_ScrollChanged(object sender, ScrollChangedEventArgs e) { // Console.WriteLine("Top TreeScroll "); - scrollViewer.ScrollToHorizontalOffset(e.VerticalChange * matrixControl.CellHeight); +// scrollViewer.ScrollToHorizontalOffset(e.VerticalChange * matrixControl.CellHeight); Console.WriteLine("--"); }