C-Sharp WPF Grid Visibility
Hallo @ All
Ich knabbere an einem Problem mit dem Visibility- Property und komme einfach nicht weiter. Hoffe auf eure Unterstützung. Mein Problem ist folgendes:
Ich habe mehrere Grids in einem Window die ich mit Buttons (Next & Previous) Hidden oder Visible setze. Das funktioniert solange ich das Grid "direkt" anspreche:
Ich wollte es mir aber einfacher machen und das ganze etwas dynamischer gestalten indem ich alle Grids die MainWindow besitzt auf diesem Weg in einer List<Grid> speichere.
Leider wird das Visibility-Property nun komplett ignoriert:
Hat jemand von euch einen Tipp wo der Fehler liegt? Bin Dankbar für jede Hilfe!
Danke!
Mayho
Ich knabbere an einem Problem mit dem Visibility- Property und komme einfach nicht weiter. Hoffe auf eure Unterstützung. Mein Problem ist folgendes:
Ich habe mehrere Grids in einem Window die ich mit Buttons (Next & Previous) Hidden oder Visible setze. Das funktioniert solange ich das Grid "direkt" anspreche:
MyGrid1.Visibility = Visibility.Hidden
MyGrid2.Visibility = Visibility.Visible
Ich wollte es mir aber einfacher machen und das ganze etwas dynamischer gestalten indem ich alle Grids die MainWindow besitzt auf diesem Weg in einer List<Grid> speichere.
Leider wird das Visibility-Property nun komplett ignoriert:
//extension
public static List<T> GetChildsLike<T>(this object parent) where T : DependencyObject
{
List<T> logicalCollection = new List<T>();
GetChildsLike(parent as DependencyObject, logicalCollection);
return logicalCollection;
}
private static void GetChildsLike<T>(DependencyObject parent, List<T> logicalCollection) where T : DependencyObject
{
IEnumerable children = LogicalTreeHelper.GetChildren(parent);
foreach (object child in children)
{
if (child is DependencyObject)
{
DependencyObject depChild = child as DependencyObject;
if (child is T)
logicalCollection.Add(child as T);
GetChildsLike(depChild, logicalCollection);
}
}
}
private void button_NEXT_Click(object sender, RoutedEventArgs e)
{
List<Grid> MyGrids = new MainWindow().GetChildsLike<Grid>()
.Where(x => x.Name.ToLower().Contains("my"))
.OrderBy(x => x.Name.Substring(x.Name.Length -1, 1)).ToList();
MyGrids.Visibility = Visibility.Hidden
MyGrids[1].Visibility = Visibility.Visible
}
Hat jemand von euch einen Tipp wo der Fehler liegt? Bin Dankbar für jede Hilfe!
Danke!
Mayho
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 317131
Url: https://administrator.de/forum/c-sharp-wpf-grid-visibility-317131.html
Ausgedruckt am: 02.04.2025 um 04:04 Uhr
4 Kommentare
Neuester Kommentar
Macht nix, passiert mir auch. Ich kann Gummienten empfehlen: Rubber duck debugging