Entfernen Sie untergeordnete Elemente nur vom Typ "T"

8

Ich habe ein WPF Panel (wie zum Beispiel Canvas ) und möchte sein Children nur entfernen, wenn diese untergeordneten Elemente vom Typ T sind, zum Beispiel alle vom Typ Button .

Wie kann ich das tun? Kann ich LINQ verwenden?

    
Nick 22.06.2012, 17:24
quelle

4 Antworten

10

Sie können LINQ verwenden, dies ist eine Möglichkeit.

%Vor%

ODER Sie können alle Child-Elemente durchlaufen, und wenn es Button ist, fügen Sie sie zu einer Liste hinzu und entfernen Sie sie schließlich. entferne keine Knöpfe in der foreach Schleife.

%Vor%

LINQ Weg ist lesbarer und einfacher und weniger Codierung.

    
Damith 22.06.2012, 17:48
quelle
3

Machen Sie einfach einen Typvergleich. Der schwierige Teil besteht darin, eine Sammlung zu ändern, während Sie sie durchlaufen; Ich habe dies mit zwei for-Schleifen gemacht:

%Vor%

Bearbeiten

Dieser Weg ist sauberer und wird am Ende der Sammlung wiederholt, um Objekte aus der Schleife zu entfernen.

%Vor%     
McGarnagle 22.06.2012 17:29
quelle
0

Winging dies von meinem Telefon:

%Vor%     
Jmyster 22.06.2012 17:38
quelle
0

Irgendein LINQ:

%Vor%

Entschuldigung für all die Fehler Jungs. Korrektur gemacht und getestet.

    
davenewza 22.06.2012 17:28
quelle

Tags und Links