Fix CheckBox original value change check

This commit is contained in:
2023-08-31 22:30:23 +02:00
parent b67628c566
commit 4817a2aedc

View File

@ -190,9 +190,9 @@ namespace Elwig.Windows {
foreach (var ccb in CheckComboBoxInputs) foreach (var ccb in CheckComboBoxInputs)
OriginalValues[ccb] = ccb.SelectedItems.Cast<object>().ToArray(); OriginalValues[ccb] = ccb.SelectedItems.Cast<object>().ToArray();
foreach (var cb in CheckBoxInputs) foreach (var cb in CheckBoxInputs)
OriginalValues[cb] = (cb.IsChecked ?? false) ? bool.TrueString : null; OriginalValues[cb] = (cb.IsChecked != null ? (cb.IsChecked == true ? bool.TrueString : bool.FalseString) : null);
foreach (var rb in RadioButtonInputs) foreach (var rb in RadioButtonInputs)
OriginalValues[rb] = (rb.IsChecked ?? false) ? bool.TrueString : null; OriginalValues[rb] = (rb.IsChecked != null ? (rb.IsChecked == true ? bool.TrueString : bool.FalseString) : null);
} }
protected void SetOriginalValue(Control input, object? value) { protected void SetOriginalValue(Control input, object? value) {
@ -261,9 +261,9 @@ namespace Elwig.Windows {
} else if (input is CheckComboBox ccb) { } else if (input is CheckComboBox ccb) {
return !ccb.SelectedItems.Cast<object>().ToArray().SequenceEqual(((object[]?)OriginalValues[ccb]) ?? Array.Empty<object>()); return !ccb.SelectedItems.Cast<object>().ToArray().SequenceEqual(((object[]?)OriginalValues[ccb]) ?? Array.Empty<object>());
} else if (input is CheckBox cb) { } else if (input is CheckBox cb) {
return OriginalValues[cb] != (object?)cb.IsChecked; return (string?)OriginalValues[cb] != (cb.IsChecked != null ? (cb.IsChecked == true ? bool.TrueString : bool.FalseString) : null);
} else if (input is RadioButton rb) { } else if (input is RadioButton rb) {
return OriginalValues[rb] != (object?)rb.IsChecked; return (string?)OriginalValues[rb] != (rb.IsChecked != null ? (rb.IsChecked == true ? bool.TrueString : bool.FalseString) : null);
} else { } else {
return false; return false;
} }