2017-09-22 77 views
0

的對象是WPF特定的,但同樣的事情...LINQ查詢子選擇問題

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

在這一點上,我得到3個TriggerActionCollections這是正確的。我想要做的下一步是選擇項目每個集合是「是BeginStoryboard」。我似乎無法解決如何選擇Actions中的項目(TriggerActionsCollection)。

我的想法是這樣的:

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

但是,這是行不通的。任何幫助傢伙?

對於那些非wpf的人。是的,有3個TriggerActionCollections,其中有一個是BeginStoryBoard對象。但是爲了爭辯,我希望每個BeginStoryBoard對象都變平。

+1

OfType () – loneshark99

回答

1

你試過

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

SelectMany instead of Select返回單個集合而不是集合的集合。

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

評論者在這裏:我想有一點點告訴你,單行答案應該n ... – user35443