在我的WPF应用程序中,我试图根据用户可以编辑的键列表仅检索特定的词典条目。
我正在尝试通过使用户可以修改的List<string> ListOfKeys
,一个Dictionary<string, AnObject> AllObjects
(包含一堆具有不同变量的AnObject)和一个Dictionary<string, AnObject> SomeObjects
(具有一个get{ }
包含一个查询,该查询仅返回AllObjects
中的键与AllObjects
中的条目相匹配的ListOfKey
中的条目。
我要在查询中添加哪些内容才能使其正常工作? 另外,对于我应该采用的其他方法,有何建议?
XAML:
<ItemsControl ItemsSource="{Binding SomeObjects.Values}" Grid.Row="1">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding someText}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
C#
public class AClass
{
string someText;
int someNumber
[...] etc.
}
public Dictionary<string, AClass> AllObjects;
public List<string> ListOfKeys;
public Dictionary<string, AClass> SomeObjects
{
get
{
return AllObjects.Where(a key in AllObjects matches an entry in the ListOfKeys);
}
}
答案 0 :(得分:0)
返回列表而不是字典:
List<AClass> someObjects
get
{
return AllObjects.Where(x => ListOfKeys.Contains(x.Key)).Select(x => x.Value).toList();
}