2015-11-03 2 views
0

В настоящее время я работаю над расширением метода для WPF DataGrid. Вот что я получил до сих пор:Создание метода расширения для DataGrid => AutoScroll?

public static void AutoScrollToEnd(this DataGrid dataGrid) 
    { 
     if (dataGrid.Items.Count > 0) 
     { 
      var border = VisualTreeHelper.GetChild(dataGrid, childIndex: 0) as Decorator; 
      if (border != null) 
      { 
       var scroll = border.Child as ScrollViewer; 
       if (scroll != null) scroll.ScrollToEnd(); 
      } 
     } 
    } 

VS дает мне ошибку здесь:

уаг границу = VisualTreeHelper.GetChild (DataGrid, childIndex: 0) в качестве декоратор;

«Аргумент типа„System.Windows.Controls.DataGrid“не может быть назначен на параметр типа" System.Windows.DependencyObject»

Может кто-нибудь, пожалуйста, объясните, в чем проблема и как ее решить?

+0

Вы уверены, что это точное сообщение об ошибке вы получаете? В «System.Widnows» есть опечатка. Windows написана неправильно. Если это точное сообщение об ошибке, вы, вероятно, работаете с каким-то другим классом 'DataGrid', который не является« DependencyObject » –

+0

. Это правильный адрес ^^ \t, к сожалению, это было просто отставание или что-то в VS. Я только что перезапустил свой ноутбук, и теперь ошибка ушла ... так или иначе. –

ответ

1

Попробуйте это:

if (dataGrid.Items.Count > 0) 
     { 
      var border = VisualTreeHelper.GetChild(dataGrid, childIndex: 0) as ScrollViewer; 
      if (border != null) 
      { 
       border.ScrollToEnd(); 
      } 
     } 
Смежные вопросы