From 0c5aac46b9cd725de31a70c00376567bb02af66b Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Sun, 13 Jan 2013 18:08:09 +0400 Subject: Replace buggy ListBox with ItemsControl+HyperlinkButton, fixes #6 --- Juick/Classes/ScrollViewerMonitor.cs | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) (limited to 'Juick/Classes') diff --git a/Juick/Classes/ScrollViewerMonitor.cs b/Juick/Classes/ScrollViewerMonitor.cs index 6a65773..a985360 100644 --- a/Juick/Classes/ScrollViewerMonitor.cs +++ b/Juick/Classes/ScrollViewerMonitor.cs @@ -37,7 +37,7 @@ namespace Juick.Classes { var element = (FrameworkElement)sender; element.Loaded -= element_Loaded; - var scrollViewer = FindChildOfType(element); + var scrollViewer = (ScrollViewer)element.Parent; if (scrollViewer == null) { throw new InvalidOperationException("ScrollViewer not found."); @@ -59,28 +59,5 @@ namespace Juick.Classes var binding = new Binding("VerticalOffset") { Source = scrollViewer }; listener.Attach(scrollViewer, binding); } - - static T FindChildOfType(DependencyObject root) - where T : class - { - var queue = new Queue(); - queue.Enqueue(root); - - while (queue.Count > 0) - { - var current = queue.Dequeue(); - for (int i = VisualTreeHelper.GetChildrenCount(current) - 1; 0 <= i; i--) - { - var child = VisualTreeHelper.GetChild(current, i); - var typedChild = child as T; - if (typedChild != null) - { - return typedChild; - } - queue.Enqueue(child); - } - } - return null; - } } } -- cgit v1.2.3