From 973760b1a2a6993edbb0a111f78ce4bcdc0f074f Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Tue, 23 Jul 2024 10:15:17 +0200 Subject: [PATCH] CheckComboBox: Fix SelectedItems property --- Elwig/Controls/CheckComboBox.cs | 3 ++- Elwig/Windows/MailWindow.xaml | 1 + Elwig/Windows/MailWindow.xaml.cs | 6 +++--- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Elwig/Controls/CheckComboBox.cs b/Elwig/Controls/CheckComboBox.cs index a66864f..fe94f66 100644 --- a/Elwig/Controls/CheckComboBox.cs +++ b/Elwig/Controls/CheckComboBox.cs @@ -8,7 +8,7 @@ using System.Windows.Controls; namespace Elwig.Controls { public class CheckComboBox : ListBox { - public new static readonly DependencyProperty SelectedItemsProperty = DependencyProperty.Register(nameof(SelectedItems), typeof(IList), typeof(CheckComboBox), new FrameworkPropertyMetadata(new ObservableCollection(), FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, OnSelectedItemsChangedCallback)); + public new static readonly DependencyProperty SelectedItemsProperty = DependencyProperty.Register(nameof(SelectedItems), typeof(IList), typeof(CheckComboBox), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, OnSelectedItemsChangedCallback)); public new IList SelectedItems { get => (IList)GetValue(SelectedItemsProperty); set => SetValue(SelectedItemsProperty, value); @@ -72,6 +72,7 @@ namespace Elwig.Controls { public CheckComboBox() { SelectionMode = SelectionMode.Multiple; + SelectedItems = new ObservableCollection(); } public override void OnApplyTemplate() { diff --git a/Elwig/Windows/MailWindow.xaml b/Elwig/Windows/MailWindow.xaml index a00e448..ca68832 100644 --- a/Elwig/Windows/MailWindow.xaml +++ b/Elwig/Windows/MailWindow.xaml @@ -1,5 +1,6 @@  b.Members.Any()) + .Where(b => b.Members.Count != 0) .OrderBy(b => b.Name) .ToListAsync(), MemberInput_SelectionChanged); if (MemberBranchInput.SelectedItems.Count == 0) { @@ -148,7 +148,7 @@ namespace Elwig.Windows { MemberBranchInput.SelectionChanged += MemberInput_SelectionChanged; } ControlUtils.RenewItemsSource(MemberKgInput, await ctx.Katastralgemeinden - .Where(k => k.WbKg!.Members.Any()) + .Where(k => k.WbKg!.Members.Count != 0) .OrderBy(k => k.Name) .ToListAsync(), MemberInput_SelectionChanged); if (MemberKgInput.SelectedItems.Count == 0) { @@ -561,7 +561,7 @@ namespace Elwig.Windows { double totalNum = printNum + emailNum; var email = memberDocs - .Where(d => d.Docs.Count > 0 && d.Member.EmailAddresses.Any() && (emailMode == 2 || (emailMode == 1 && d.Member.ContactViaEmail))) + .Where(d => d.Docs.Count > 0 && d.Member.EmailAddresses.Count > 0 && (emailMode == 2 || (emailMode == 1 && d.Member.ContactViaEmail))) .ToDictionary(d => d.Member, m => { var docs = m.Docs.Select(d => d.Doc).ToList(); foreach (var doc in docs) {