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("--");
}