From 2eef0496bac7ffadb7c924ba947fd3543e5728ae Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Wed, 19 Jul 2023 16:44:22 +0200 Subject: [PATCH] Fix SelectCheckComboBoxItems() --- Elwig/Helpers/Utils.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Elwig/Helpers/Utils.cs b/Elwig/Helpers/Utils.cs index b2517f0..fd2c5f1 100644 --- a/Elwig/Helpers/Utils.cs +++ b/Elwig/Helpers/Utils.cs @@ -269,10 +269,10 @@ namespace Elwig.Helpers { SelectComboBoxItem(cb, getId, getId(item)); } - public static IEnumerable GetItemsFromSource(IEnumerable source, Func getId, IEnumerable id) { + public static IEnumerable GetItemsFromSource(IEnumerable source, Func getId, IEnumerable ids) { if (source == null) return Array.Empty(); - return source.Cast().Where(i => getId(i)?.Equals(id) ?? false); + return source.Cast().Where(i => ids.Any(c => c?.Equals(getId(i)) ?? false)); } public static IEnumerable GetItemsFromSource(IEnumerable source, IEnumerable? items, Func getId) { @@ -285,11 +285,11 @@ namespace Elwig.Helpers { ccb.SelectedItems.Clear(); if (ids == null) return; foreach (var id in ids) - ccb.SelectedItems.Add(Utils.GetItemFromSource(ccb.SelectedItems, getId, id)); + ccb.SelectedItems.Add(GetItemFromSource(ccb.ItemsSource, getId, id)); } public static void SelectCheckComboBoxItems(Xceed.Wpf.Toolkit.CheckComboBox ccb, IEnumerable? items, Func getId) { - SelectCheckComboBoxItems(ccb, getId, GetItemsFromSource(ccb.ItemsSource, items, getId)); + SelectCheckComboBoxItems(ccb, getId, items?.Select(i => getId(i))); } } }