2017-11-05 1 views
0

Verwenden von RadListView von Telerik mit IncrementalLoadingMode = "Explicit", aber dann ist die Schaltfläche "Weitere Objekte laden" immer sichtbar, auch wenn keine Elemente vorhanden sind die Listview-Instanz.RadListView - "mehr Objekte laden" ist immer sichtbar mit IncrementalLoadingMode = "Explicit"

Gibt es eine Möglichkeit, die Schaltfläche "Weitere Artikel laden" auszublenden, wenn keine Artikel vorhanden sind? Macht keinen Sinn, den Knopf dort zu haben, wenn es keine Elemente

Antwort

0

Die „Last mehr Elemente“ ist eigentlich die DataGridLoadDataControl in Telerik, Sie könnten versuchen, es zu finden, in der Benutzeroberfläche visuellen Struktur durch VisualTreeHelper, und legen Sie es auf unsichtbar . Zum Beispiel (Grid ist der Name RadDataGrid Kontrolle):

private void btnloadcompleted_Click(object sender, RoutedEventArgs e) 
{ 
    IEnumerable<DataGridLoadDataControl> items = FindVisualChildren<DataGridLoadDataControl>(grid); 
    foreach (DataGridLoadDataControl item in items) 
    { 
     item.Visibility = Visibility.Collapsed; 
    } 
} 
private static IEnumerable<T> FindVisualChildren<T>(DependencyObject depObj) where T : DependencyObject 
{ 
    if (depObj != null) 
    { 
     for (int i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++) 
     { 
      DependencyObject child = VisualTreeHelper.GetChild(depObj, i); 
      if (child != null && child is T) 
      { 
       yield return (T)child; 
      } 

      foreach (T childOfChild in FindVisualChildren<T>(child)) 
      { 
       yield return childOfChild; 
      } 
     } 
    } 
} 
+0

Das ist nicht wirklich etwas zu tun hat, keine optische Veränderung. Ich habe den sender-Parameter auf ein DependencyObject geworfen, welches das korrekte Objekt zu sein scheint (die RadListView) –

+0

@ SteinJ.Gran, bitte überprüfe es sorgfältig: "grid ist der Name des RadDataGrid-Steuerelements", ich hole direkt das 'RadDataGrid'-Objekt .Ist du getestet, dass es funktioniert, seit ich es auf meiner Seite getestet habe. –