diff --git a/Elwig/Windows/AdministrationWindow.cs b/Elwig/Windows/AdministrationWindow.cs index 029b00b..33a9b09 100644 --- a/Elwig/Windows/AdministrationWindow.cs +++ b/Elwig/Windows/AdministrationWindow.cs @@ -190,9 +190,9 @@ namespace Elwig.Windows { foreach (var ccb in CheckComboBoxInputs) OriginalValues[ccb] = ccb.SelectedItems.Cast().ToArray(); 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) - 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) { @@ -261,9 +261,9 @@ namespace Elwig.Windows { } else if (input is CheckComboBox ccb) { return !ccb.SelectedItems.Cast().ToArray().SequenceEqual(((object[]?)OriginalValues[ccb]) ?? Array.Empty()); } 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) { - return OriginalValues[rb] != (object?)rb.IsChecked; + return (string?)OriginalValues[rb] != (rb.IsChecked != null ? (rb.IsChecked == true ? bool.TrueString : bool.FalseString) : null); } else { return false; }