2017-09-22 6 views
0

Die Objekte sind WPF spezifisch, aber gleiche ...Linq Abfrage Unterauswahl Ausgabe

 var v = Style.Triggers.Where(x => x is EventTrigger) 
           .Cast<EventTrigger>() 
           .Select(x => x.Actions); 

An dieser Stelle komme ich 3 TriggerActionCollections was richtig ist. Was ich als nächstes tun möchte, wähle die Artikel innerhalb jeder Sammlung, die "ist BeginStoryboard". Ich kann anscheinend nicht herausfinden, wie man die Elemente in Actions (die TriggerActionsCollection) auswählt.

Ich war so etwas wie dieses Denken:

 var v = Style.Triggers.Where(x => x is EventTrigger) 
           .Cast<EventTrigger>() 
           .Select(x => x.Actions.Select(y => y).Where(y => y is BeginStoryboard)); 

Aber das funktioniert nicht. Irgendwelche Hilfe Jungs?

Für die nicht-wpf Leute. Ja, es gibt 3 TriggerActionCollections und in einem davon gibt es ein BeginStoryBoard-Objekt. Aber um Argumente willen möchte ich JEDES BeginStoryBoard Objekt abgeflacht werden.

+1

OfType () – loneshark99

Antwort

1

Haben Sie

versuchten
var v = Style.Triggers.Where(x => x is EventTrigger) 
           .Cast<EventTrigger>() 
           .SelectMany(x => x.Actions) 
           .Where(...) 

SelectMany instead of Select kehren einzige Sammlung statt Sammlung von Sammlungen.

0
var v = Style.Triggers 
      .OfType<EventTrigger>() 
      .SelectMany(x => x.Actions) 
      .OfType<BeginStoryboard>(); 
+0

Bewertungs hier: Ich denke, es wenig Sinn ist Ihnen zu sagen, dass in einzeilige Antworten sollte n ... – user35443