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!
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!
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
Dzięki! Działa! –
Po wyczyszczeniu dzieci liczba wierszy i liczba kolumn pozostają jednak niezmienione? Czy został dobrze oczyszczony? –
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 = "";
}
}
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
Co siatka Lubisz mówić? Nie widzę siatki ani wersji RowDefinitions? Co próbujesz? –
Siatka WPF. Czy nigdy o tym nie słyszałeś? –
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. –