From 0eed4265598d11491d7dbbbe7d0bb745e8e60938 Mon Sep 17 00:00:00 2001
From: Lorenz Stechauner <lorenz.stechauner@necronda.net>
Date: Sat, 2 Dec 2023 14:00:16 +0100
Subject: [PATCH] [#21] AdministrationWindow: Temporarily fix
 UnitTextBox/TextBox casting error

---
 Elwig/Windows/AdministrationWindow.cs | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/Elwig/Windows/AdministrationWindow.cs b/Elwig/Windows/AdministrationWindow.cs
index 4331253..10f9ac3 100644
--- a/Elwig/Windows/AdministrationWindow.cs
+++ b/Elwig/Windows/AdministrationWindow.cs
@@ -427,8 +427,9 @@ namespace Elwig.Windows {
         }
 
         protected void TextBox_TextChanged(object sender, RoutedEventArgs? evt) {
-            var input = (TextBox)sender;
-            if (SenderIsRequired(input) && input.Text.Length == 0) {
+            var input = (Control)sender;
+            var tb = input as TextBox ?? (input as UnitTextBox)?.TextBox;
+            if (SenderIsRequired(input) && tb?.Text.Length == 0) {
                 ValidateInput(input, false);
                 ControlUtils.SetInputInvalid(input);
             } else {
@@ -472,11 +473,13 @@ namespace Elwig.Windows {
         }
 
         protected void IntegerInput_TextChanged(object sender, TextChangedEventArgs evt) {
-            InputTextChanged((TextBox)sender, Validator.CheckInteger);
+            // FIXME
+            InputTextChanged((sender as UnitTextBox)?.TextBox ?? (TextBox)sender, Validator.CheckInteger);
         }
 
         protected void DecimalInput_TextChanged(object sender, TextChangedEventArgs evt) {
-            InputTextChanged((TextBox)sender, Validator.CheckDecimal);
+            // FIXME
+            InputTextChanged((sender as UnitTextBox)?.TextBox ?? (TextBox)sender, Validator.CheckDecimal);
         }
 
         protected void PartialDateInput_TextChanged(object sender, TextChangedEventArgs evt) {