2011-07-22 16 views
10

Chcę wyczyścić/usunąć WSZYSTKIE zawartości siatki zawierającej wiersze definicji, w jaki sposób mogę to zrobić?Jak wyczyścić zawartość siatki WPF?

Dzięki!

+0

Co siatka Lubisz mówić? Nie widzę siatki ani wersji RowDefinitions? Co próbujesz? –

+0

Siatka WPF. Czy nigdy o tym nie słyszałeś? –

+2

Byłem żartobliwy. Chodzi mi o to, że rozmawiałeś o siatce, ale nie pokazałeś nam żadnego kodu. Nie wspomniałeś, że próbowałeś czegokolwiek lub pokazałeś jakieś badania. –

Odpowiedz

18

myGrid.Children.Clear() spowoduje usunięcie wszystkich formantów podrzędnych zagnieżdżone w siatce. myGrid.RowDefinitions.Clear() usunie wszystkie definicje wierszy. myGrid.ColumnDefinitions.Clear() usunie wszystkie definicje kolumn.

dla zachowania kompletności, można również dodawać/usuwać pojedyncze elementy poprzez dodaj/usuń metod odpowiednich zbiorów. myGrid.Children dla formantów, myGrid.RowDefinitions dla definicji wierszy i myGrid.ColumnDefinitions dla kolumn.

wszystkie te informacje są dostępne here on MSDN

+0

Dzięki! Działa! –

+0

Po wyczyszczeniu dzieci liczba wierszy i liczba kolumn pozostają jednak niezmienione? Czy został dobrze oczyszczony? –

-1

próbować pętli pod kontrolą pojemnika (przykład siatka) iw tej pętli sprawdzić typ sterowania tak:

 foreach(DependencyObject c in YourContainer.Children) 
     { 
      //If you only want to modify TextBoxes 
      if(c.GetType().ToString() == "System.Windows.Controls.TextBox") 
      { 
       //Erase Text property of all TextBoxes in my Grid Control 
       ((TextBox)c).Text = ""; 


      } 
     } 
+0

Do modyfikacji, które byłyby w porządku. Ale jeśli spróbujesz usunąć zawartość z siatki, jak pierwotnie chciał zapytać OP, to takie podejście prowadzi do wyjątkowego zachowania, ponieważ spróbujesz zmodyfikować kolekcję podczas iteracji. Ponadto, biorąc pod uwagę twój kod, sugerowałbym całkowite zastąpienie porównania ciągów dla kontroli typu, np. wyszukując tylko pola TextBox z kolekcji Children, takie jak: foreach (TextBox c w YourContainer.Children.OfType ) – ckuepker

Powiązane problemy