В моем приложении WPF я пытаюсь получить только определенные словарные записи на основе списка ключей, которые пользователь может редактировать.
Я пытаюсь сделать это, имея List<string> ListOfKeys
, который пользователь может изменить, Dictionary<string, AnObject> AllObjects
, который содержит группу объектов AnObject с разными переменными, и Dictionary<string, AnObject> SomeObjects
с get{ }
, содержащим запрос вернуть только записи из AllObjects
, где ключ в AllObjects
соответствует записи в ListOfKey
s.
Что мне поставить в запросе, чтобы эта работа работала?
Кроме того, какие-либо предложения для другого пути, которым я должен пойти об этом?
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);
}
}