2010-10-21 9 views

cevap

22
ScrollViewer scrollview = FindVisualChild<ScrollViewer>(dataGrid); 
Visibility verticalVisibility = scrollview.ComputedVerticalScrollBarVisibility; 
Visibility horizontalVisibility = scrollview.ComputedHorizontalScrollBarVisibility; 
+0

Ben FindVisualChild kendim uygulamak zorunda, öyle mi? –

+0

Evet, etrafta bir dizi uygulama var: http://stackoverflow.com/questions/980120/finding-control-within-wpf-itemscontrol –

10

İşte FindVisualChild bir uygulama görebilirsiniz:

private childItem FindVisualChild<childItem>(DependencyObject obj) 
    where childItem : DependencyObject 
{ 
    for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++) 
    { 
     DependencyObject child = VisualTreeHelper.GetChild(obj, i); 
     if (child != null && child is childItem) 
      return (childItem)child; 
     else 
     { 
      childItem childOfChild = FindVisualChild<childItem>(child); 
      if (childOfChild != null) 
       return childOfChild; 
     } 
    } 
    return null; 
} 
0
Private Function FindVisualChild(Of childItem As DependencyObject)(ByVal obj As DependencyObject) As childItem 
     For i As Integer = 0 To VisualTreeHelper.GetChildrenCount(obj) - 1 
      Dim child As DependencyObject = VisualTreeHelper.GetChild(obj, i) 
      If child IsNot Nothing AndAlso TypeOf child Is childItem Then 
       Return CType(child, childItem) 
      Else 
       Dim childOfChild As childItem = FindVisualChild(Of childItem)(child) 
       If childOfChild IsNot Nothing Then 
        Return childOfChild 
       End If 
      End If 
     Next i 
     Return Nothing 
    End Function 
İlgili konular