Mark input as changed
This commit is contained in:
@ -32,12 +32,16 @@ namespace WGneu {
|
|||||||
{ "423", Array.Empty<string[]>() },
|
{ "423", Array.Empty<string[]>() },
|
||||||
};
|
};
|
||||||
|
|
||||||
public static void SetInputInvalid(TextBox input) {
|
public static void SetInputChanged(Control input) {
|
||||||
|
input.BorderBrush = System.Windows.Media.Brushes.Orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void SetInputInvalid(Control input) {
|
||||||
input.BorderBrush = System.Windows.Media.Brushes.Red;
|
input.BorderBrush = System.Windows.Media.Brushes.Red;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SetInputValid(TextBox input) {
|
public static void ClearInputStatus(Control input) {
|
||||||
input.ClearValue(TextBox.BorderBrushProperty);
|
input.ClearValue(Control.BorderBrushProperty);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ValidationResult CheckNumericInput(TextBox input, bool optional) {
|
public static ValidationResult CheckNumericInput(TextBox input, bool optional) {
|
||||||
|
@ -91,18 +91,22 @@
|
|||||||
|
|
||||||
<Label Content="Vorname:" HorizontalAlignment="Left" Margin="10,42,0,0" VerticalAlignment="Top" Padding="2" Grid.Column="0"/>
|
<Label Content="Vorname:" HorizontalAlignment="Left" Margin="10,42,0,0" VerticalAlignment="Top" Padding="2" Grid.Column="0"/>
|
||||||
<TextBox x:Name="GivenNameInput" IsReadOnly="True"
|
<TextBox x:Name="GivenNameInput" IsReadOnly="True"
|
||||||
|
TextChanged="TextBox_TextChanged"
|
||||||
Margin="0,40,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" FontSize="14" Padding="2" Grid.Column="1"/>
|
Margin="0,40,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" FontSize="14" Padding="2" Grid.Column="1"/>
|
||||||
|
|
||||||
<Label Content="Präfix:" HorizontalAlignment="Left" Margin="10,42,0,0" VerticalAlignment="Top" Padding="2" Grid.Column="2"/>
|
<Label Content="Präfix:" HorizontalAlignment="Left" Margin="10,42,0,0" VerticalAlignment="Top" Padding="2" Grid.Column="2"/>
|
||||||
<TextBox x:Name="PrefixInput" IsReadOnly="True"
|
<TextBox x:Name="PrefixInput" IsReadOnly="True"
|
||||||
|
TextChanged="TextBox_TextChanged"
|
||||||
Margin="0,40,10,0" TextWrapping="NoWrap" VerticalAlignment="Top" FontSize="14" Padding="2" Grid.Column="3"/>
|
Margin="0,40,10,0" TextWrapping="NoWrap" VerticalAlignment="Top" FontSize="14" Padding="2" Grid.Column="3"/>
|
||||||
|
|
||||||
<Label Content="Nachname:" HorizontalAlignment="Left" Margin="10,72,0,0" VerticalAlignment="Top" Padding="2" Grid.Column="0"/>
|
<Label Content="Nachname:" HorizontalAlignment="Left" Margin="10,72,0,0" VerticalAlignment="Top" Padding="2" Grid.Column="0"/>
|
||||||
<TextBox x:Name="FamilyNameInput" IsReadOnly="True"
|
<TextBox x:Name="FamilyNameInput" IsReadOnly="True"
|
||||||
|
TextChanged="TextBox_TextChanged"
|
||||||
Margin="0,70,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" FontSize="14" Padding="2" Grid.Column="1"/>
|
Margin="0,70,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" FontSize="14" Padding="2" Grid.Column="1"/>
|
||||||
|
|
||||||
<Label Content="Suffix:" HorizontalAlignment="Left" Margin="10,72,0,0" VerticalAlignment="Top" Padding="2" Grid.Column="2"/>
|
<Label Content="Suffix:" HorizontalAlignment="Left" Margin="10,72,0,0" VerticalAlignment="Top" Padding="2" Grid.Column="2"/>
|
||||||
<TextBox x:Name="SuffixInput" IsReadOnly="True"
|
<TextBox x:Name="SuffixInput" IsReadOnly="True"
|
||||||
|
TextChanged="TextBox_TextChanged"
|
||||||
Margin="0,70,10,0" TextWrapping="NoWrap" VerticalAlignment="Top" FontSize="14" Padding="2" Grid.Column="3"/>
|
Margin="0,70,10,0" TextWrapping="NoWrap" VerticalAlignment="Top" FontSize="14" Padding="2" Grid.Column="3"/>
|
||||||
|
|
||||||
<Label Content="Geburtstag:" HorizontalAlignment="Left" Margin="10,102,0,0" VerticalAlignment="Top" Padding="2" Grid.Column="0"/>
|
<Label Content="Geburtstag:" HorizontalAlignment="Left" Margin="10,102,0,0" VerticalAlignment="Top" Padding="2" Grid.Column="0"/>
|
||||||
@ -111,6 +115,7 @@
|
|||||||
|
|
||||||
<Label Content="Adresse:" HorizontalAlignment="Left" Margin="10,132,0,0" VerticalAlignment="Top" Padding="2"/>
|
<Label Content="Adresse:" HorizontalAlignment="Left" Margin="10,132,0,0" VerticalAlignment="Top" Padding="2"/>
|
||||||
<TextBox x:Name="AddressInput" IsReadOnly="True"
|
<TextBox x:Name="AddressInput" IsReadOnly="True"
|
||||||
|
TextChanged="TextBox_TextChanged"
|
||||||
Margin="0,130,10,0" VerticalAlignment="Top" FontSize="14" Padding="2" Grid.Column="1" Grid.ColumnSpan="3" Height="25"/>
|
Margin="0,130,10,0" VerticalAlignment="Top" FontSize="14" Padding="2" Grid.Column="1" Grid.ColumnSpan="3" Height="25"/>
|
||||||
|
|
||||||
<Label Content="PLZ/Ort:" HorizontalAlignment="Left" Margin="10,162,0,0" VerticalAlignment="Top" Padding="2"/>
|
<Label Content="PLZ/Ort:" HorizontalAlignment="Left" Margin="10,162,0,0" VerticalAlignment="Top" Padding="2"/>
|
||||||
@ -186,6 +191,7 @@
|
|||||||
Margin="0,40,10,0" VerticalAlignment="Top" FontSize="14" Padding="2" Grid.Column="1" Height="25" Width="64" HorizontalAlignment="Left" TextAlignment="Right"/>
|
Margin="0,40,10,0" VerticalAlignment="Top" FontSize="14" Padding="2" Grid.Column="1" Height="25" Width="64" HorizontalAlignment="Left" TextAlignment="Right"/>
|
||||||
|
|
||||||
<CheckBox x:Name="BuchführendInput" Content="Buchführend" IsEnabled="False"
|
<CheckBox x:Name="BuchführendInput" Content="Buchführend" IsEnabled="False"
|
||||||
|
Checked="CheckBox_Changed" Unchecked="CheckBox_Changed"
|
||||||
Grid.Column="2" HorizontalAlignment="Left" Margin="10,15,0,0" VerticalAlignment="Top" IsChecked="False"/>
|
Grid.Column="2" HorizontalAlignment="Left" Margin="10,15,0,0" VerticalAlignment="Top" IsChecked="False"/>
|
||||||
</Grid>
|
</Grid>
|
||||||
</GroupBox>
|
</GroupBox>
|
||||||
@ -198,10 +204,12 @@
|
|||||||
|
|
||||||
<Label Content="Name:" HorizontalAlignment="Left" Margin="10,12,0,0" VerticalAlignment="Top" Padding="2"/>
|
<Label Content="Name:" HorizontalAlignment="Left" Margin="10,12,0,0" VerticalAlignment="Top" Padding="2"/>
|
||||||
<TextBox x:Name="BillingName" IsReadOnly="True"
|
<TextBox x:Name="BillingName" IsReadOnly="True"
|
||||||
|
TextChanged="TextBox_TextChanged"
|
||||||
Margin="0,10,10,10" VerticalAlignment="Top" Grid.ColumnSpan="2" FontSize="14" Padding="2" Grid.Column="1"/>
|
Margin="0,10,10,10" VerticalAlignment="Top" Grid.ColumnSpan="2" FontSize="14" Padding="2" Grid.Column="1"/>
|
||||||
|
|
||||||
<Label Content="Adresse:" HorizontalAlignment="Left" Margin="10,42,0,0" VerticalAlignment="Top" Padding="2"/>
|
<Label Content="Adresse:" HorizontalAlignment="Left" Margin="10,42,0,0" VerticalAlignment="Top" Padding="2"/>
|
||||||
<TextBox x:Name="BillingAddressInput" IsReadOnly="True"
|
<TextBox x:Name="BillingAddressInput" IsReadOnly="True"
|
||||||
|
TextChanged="TextBox_TextChanged"
|
||||||
Margin="0,40,10,0" VerticalAlignment="Top" FontSize="14" Padding="2" Grid.Column="1"/>
|
Margin="0,40,10,0" VerticalAlignment="Top" FontSize="14" Padding="2" Grid.Column="1"/>
|
||||||
|
|
||||||
<Label Content="PLZ/Ort:" HorizontalAlignment="Left" Margin="10,72,0,0" VerticalAlignment="Top" Padding="2"/>
|
<Label Content="PLZ/Ort:" HorizontalAlignment="Left" Margin="10,72,0,0" VerticalAlignment="Top" Padding="2"/>
|
||||||
@ -235,15 +243,19 @@
|
|||||||
|
|
||||||
<Label Content="BH-Konto:" HorizontalAlignment="Left" Margin="10,102,0,0" VerticalAlignment="Top" Padding="2"/>
|
<Label Content="BH-Konto:" HorizontalAlignment="Left" Margin="10,102,0,0" VerticalAlignment="Top" Padding="2"/>
|
||||||
<TextBox x:Name="AccountingNrInput" IsReadOnly="True"
|
<TextBox x:Name="AccountingNrInput" IsReadOnly="True"
|
||||||
|
TextChanged="TextBox_TextChanged"
|
||||||
Margin="0,100,10,0" TextWrapping="NoWrap" VerticalAlignment="Top" FontSize="14" Padding="2" Grid.Column="1"/>
|
Margin="0,100,10,0" TextWrapping="NoWrap" VerticalAlignment="Top" FontSize="14" Padding="2" Grid.Column="1"/>
|
||||||
|
|
||||||
<CheckBox x:Name="ActiveInput" Content="Aktiv" IsEnabled="False"
|
<CheckBox x:Name="ActiveInput" Content="Aktiv" IsEnabled="False"
|
||||||
|
Checked="CheckBox_Changed" Unchecked="CheckBox_Changed"
|
||||||
Grid.Column="2" HorizontalAlignment="Left" Margin="10,15,0,0" VerticalAlignment="Top" IsChecked="False"/>
|
Grid.Column="2" HorizontalAlignment="Left" Margin="10,15,0,0" VerticalAlignment="Top" IsChecked="False"/>
|
||||||
|
|
||||||
<CheckBox x:Name="VollLieferantInput" Content="Volllieferant" IsEnabled="False"
|
<CheckBox x:Name="VollLieferantInput" Content="Volllieferant" IsEnabled="False"
|
||||||
|
Checked="CheckBox_Changed" Unchecked="CheckBox_Changed"
|
||||||
Grid.Column="2" HorizontalAlignment="Left" Margin="10,45,0,0" VerticalAlignment="Top" IsChecked="False"/>
|
Grid.Column="2" HorizontalAlignment="Left" Margin="10,45,0,0" VerticalAlignment="Top" IsChecked="False"/>
|
||||||
|
|
||||||
<CheckBox x:Name="FunkionärInput" Content="Funktionär" IsEnabled="False"
|
<CheckBox x:Name="FunkionärInput" Content="Funktionär" IsEnabled="False"
|
||||||
|
Checked="CheckBox_Changed" Unchecked="CheckBox_Changed"
|
||||||
Grid.Column="2" HorizontalAlignment="Left" Margin="10,75,0,0" VerticalAlignment="Top" IsChecked="False"/>
|
Grid.Column="2" HorizontalAlignment="Left" Margin="10,75,0,0" VerticalAlignment="Top" IsChecked="False"/>
|
||||||
|
|
||||||
<Label Content="StammZwst.:" HorizontalAlignment="Left" Margin="10,132,0,0" VerticalAlignment="Top" Padding="2"/>
|
<Label Content="StammZwst.:" HorizontalAlignment="Left" Margin="10,132,0,0" VerticalAlignment="Top" Padding="2"/>
|
||||||
@ -258,12 +270,15 @@
|
|||||||
|
|
||||||
<Label Content="Anmerkung:" HorizontalAlignment="Left" Margin="10,192,0,0" VerticalAlignment="Top" Padding="2"/>
|
<Label Content="Anmerkung:" HorizontalAlignment="Left" Margin="10,192,0,0" VerticalAlignment="Top" Padding="2"/>
|
||||||
<TextBox x:Name="CommentInput" IsReadOnly="True"
|
<TextBox x:Name="CommentInput" IsReadOnly="True"
|
||||||
|
TextChanged="TextBox_TextChanged"
|
||||||
Margin="0,190,10,0" TextWrapping="NoWrap" VerticalAlignment="Top" FontSize="14" Padding="2" Grid.Column="1" Grid.ColumnSpan="2" TextAlignment="Right"/>
|
Margin="0,190,10,0" TextWrapping="NoWrap" VerticalAlignment="Top" FontSize="14" Padding="2" Grid.Column="1" Grid.ColumnSpan="2" TextAlignment="Right"/>
|
||||||
|
|
||||||
<Label Content="Kontaktart:" HorizontalAlignment="Left" Margin="10,222,0,0" VerticalAlignment="Top" Padding="2"/>
|
<Label Content="Kontaktart:" HorizontalAlignment="Left" Margin="10,222,0,0" VerticalAlignment="Top" Padding="2"/>
|
||||||
<RadioButton x:Name="ContactPostInput" GroupName="DefaultContact" Content="Post" IsEnabled="False"
|
<RadioButton x:Name="ContactPostInput" GroupName="DefaultContact" Content="Post" IsEnabled="False"
|
||||||
|
Checked="RadioButton_Changed" Unchecked="RadioButton_Changed"
|
||||||
HorizontalAlignment="Left" Margin="0,225,0,0" VerticalAlignment="Top" Grid.Column="1" Grid.ColumnSpan="2"/>
|
HorizontalAlignment="Left" Margin="0,225,0,0" VerticalAlignment="Top" Grid.Column="1" Grid.ColumnSpan="2"/>
|
||||||
<RadioButton x:Name="ContactEmailInput" GroupName="DefaultContact" Content="E-Mail" IsEnabled="False"
|
<RadioButton x:Name="ContactEmailInput" GroupName="DefaultContact" Content="E-Mail" IsEnabled="False"
|
||||||
|
Checked="RadioButton_Changed" Unchecked="RadioButton_Changed"
|
||||||
HorizontalAlignment="Left" Margin="60,225,0,0" VerticalAlignment="Top" Grid.Column="1" Grid.ColumnSpan="2"/>
|
HorizontalAlignment="Left" Margin="60,225,0,0" VerticalAlignment="Top" Grid.Column="1" Grid.ColumnSpan="2"/>
|
||||||
</Grid>
|
</Grid>
|
||||||
</GroupBox>
|
</GroupBox>
|
||||||
|
@ -24,7 +24,8 @@ namespace WGneu.Windows {
|
|||||||
private bool IsEditing = false;
|
private bool IsEditing = false;
|
||||||
private bool IsCreating = false;
|
private bool IsCreating = false;
|
||||||
private List<string> TextFilter = new();
|
private List<string> TextFilter = new();
|
||||||
private readonly Dictionary<TextBox, bool> Valid = new();
|
private readonly Dictionary<Control, bool> Valid = new();
|
||||||
|
private readonly Dictionary<Control, object?> OriginalValues = new();
|
||||||
private static readonly RoutedCommand CtrlF = new();
|
private static readonly RoutedCommand CtrlF = new();
|
||||||
private readonly WgContext Context = new();
|
private readonly WgContext Context = new();
|
||||||
|
|
||||||
@ -79,6 +80,17 @@ namespace WGneu.Windows {
|
|||||||
RefreshInputs();
|
RefreshInputs();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ClearInputStates() {
|
||||||
|
foreach (var tb in Utils.FindVisualChilds<TextBox>(this))
|
||||||
|
if (tb.Name != "SearchInput") Validator.ClearInputStatus(tb);
|
||||||
|
foreach (var cb in Utils.FindVisualChilds<ComboBox>(this))
|
||||||
|
Validator.ClearInputStatus(cb);
|
||||||
|
foreach (var cb in Utils.FindVisualChilds<CheckBox>(this))
|
||||||
|
Validator.ClearInputStatus(cb);
|
||||||
|
foreach (var rb in Utils.FindVisualChilds<RadioButton>(this))
|
||||||
|
Validator.ClearInputStatus(rb);
|
||||||
|
}
|
||||||
|
|
||||||
private void RefreshInputs() {
|
private void RefreshInputs() {
|
||||||
Member m = (Member)MemberList.SelectedItem;
|
Member m = (Member)MemberList.SelectedItem;
|
||||||
if (m != null) {
|
if (m != null) {
|
||||||
@ -90,6 +102,7 @@ namespace WGneu.Windows {
|
|||||||
DeleteMemberButton.IsEnabled = false;
|
DeleteMemberButton.IsEnabled = false;
|
||||||
ClearInputs();
|
ClearInputs();
|
||||||
}
|
}
|
||||||
|
ClearInputStates();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InitInputs() {
|
private void InitInputs() {
|
||||||
@ -206,11 +219,13 @@ namespace WGneu.Windows {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void ResetButton_Click(object sender, RoutedEventArgs e) {
|
private void ResetButton_Click(object sender, RoutedEventArgs e) {
|
||||||
if (IsEditing)
|
if (IsEditing) {
|
||||||
RefreshInputs();
|
RefreshInputs();
|
||||||
else if (IsCreating)
|
} else if (IsCreating) {
|
||||||
InitInputs();
|
InitInputs();
|
||||||
}
|
}
|
||||||
|
UpdateButtons();
|
||||||
|
}
|
||||||
|
|
||||||
private void CancelButton_Click(object sender, RoutedEventArgs e) {
|
private void CancelButton_Click(object sender, RoutedEventArgs e) {
|
||||||
IsEditing = false;
|
IsEditing = false;
|
||||||
@ -241,7 +256,7 @@ namespace WGneu.Windows {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void ShowSaveResetCancelButtons() {
|
private void ShowSaveResetCancelButtons() {
|
||||||
SaveButton.IsEnabled = true;
|
SaveButton.IsEnabled = false;
|
||||||
ResetButton.IsEnabled = false;
|
ResetButton.IsEnabled = false;
|
||||||
CancelButton.IsEnabled = true;
|
CancelButton.IsEnabled = true;
|
||||||
SaveButton.Visibility = Visibility.Visible;
|
SaveButton.Visibility = Visibility.Visible;
|
||||||
@ -299,6 +314,8 @@ namespace WGneu.Windows {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void FillInputs(Member m) {
|
private void FillInputs(Member m) {
|
||||||
|
OriginalValues.Clear();
|
||||||
|
|
||||||
MgNrInput.Text = m.MgNr.ToString();
|
MgNrInput.Text = m.MgNr.ToString();
|
||||||
PredecessorMgNrInput.Text = m.PredecessorMgNr.ToString();
|
PredecessorMgNrInput.Text = m.PredecessorMgNr.ToString();
|
||||||
PrefixInput.Text = m.Prefix;
|
PrefixInput.Text = m.Prefix;
|
||||||
@ -346,6 +363,15 @@ namespace WGneu.Windows {
|
|||||||
case "post": ContactPostInput.IsChecked = true; break;
|
case "post": ContactPostInput.IsChecked = true; break;
|
||||||
case "email": ContactEmailInput.IsChecked = true; break;
|
case "email": ContactEmailInput.IsChecked = true; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach (var tb in Utils.FindVisualChilds<TextBox>(this))
|
||||||
|
if (tb.Name != "SearchInput") OriginalValues[tb] = tb.Text;
|
||||||
|
foreach (var cb in Utils.FindVisualChilds<ComboBox>(this))
|
||||||
|
OriginalValues[cb] = cb.SelectedItem;
|
||||||
|
foreach (var cb in Utils.FindVisualChilds<CheckBox>(this))
|
||||||
|
OriginalValues[cb] = (cb.IsChecked ?? false) ? bool.TrueString : null;
|
||||||
|
foreach (var rb in Utils.FindVisualChilds<RadioButton>(this))
|
||||||
|
OriginalValues[rb] = (rb.IsChecked ?? false) ? bool.TrueString : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ClearInputs() {
|
private void ClearInputs() {
|
||||||
@ -357,6 +383,7 @@ namespace WGneu.Windows {
|
|||||||
cb.IsChecked = false;
|
cb.IsChecked = false;
|
||||||
foreach (var rb in Utils.FindVisualChilds<RadioButton>(this))
|
foreach (var rb in Utils.FindVisualChilds<RadioButton>(this))
|
||||||
rb.IsChecked = false;
|
rb.IsChecked = false;
|
||||||
|
OriginalValues.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool IsValid() {
|
private bool IsValid() {
|
||||||
@ -371,8 +398,28 @@ namespace WGneu.Windows {
|
|||||||
SaveButton.IsEnabled = (v && ch);
|
SaveButton.IsEnabled = (v && ch);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool InputHasChanged(Control input) {
|
||||||
|
if (!OriginalValues.ContainsKey(input)) {
|
||||||
|
return false;
|
||||||
|
} else if (input is TextBox tb) {
|
||||||
|
return OriginalValues[tb]?.ToString() != tb.Text;
|
||||||
|
} else if (input is ComboBox sb) {
|
||||||
|
return OriginalValues[sb] != sb.SelectedItem;
|
||||||
|
} else if (input is CheckBox cb) {
|
||||||
|
return (OriginalValues[cb] != null) != (cb.IsChecked ?? false);
|
||||||
|
} else if (input is RadioButton rb) {
|
||||||
|
return (OriginalValues[rb] != null) != (rb.IsChecked ?? false);
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private bool HasChanged() {
|
private bool HasChanged() {
|
||||||
return true; // TODO
|
return !IsValid() ||
|
||||||
|
Utils.FindVisualChilds<TextBox>(this).Any(InputHasChanged) ||
|
||||||
|
Utils.FindVisualChilds<ComboBox>(this).Any(InputHasChanged) ||
|
||||||
|
Utils.FindVisualChilds<CheckBox>(this).Any(InputHasChanged) ||
|
||||||
|
Utils.FindVisualChilds<RadioButton>(this).Any(InputHasChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdatePlz(TextBox plzInput, ComboBox ortInput) {
|
private void UpdatePlz(TextBox plzInput, ComboBox ortInput) {
|
||||||
@ -390,10 +437,15 @@ namespace WGneu.Windows {
|
|||||||
private void InputTextChanged(TextBox input, bool optional, Func<TextBox, bool, ValidationResult> checker) {
|
private void InputTextChanged(TextBox input, bool optional, Func<TextBox, bool, ValidationResult> checker) {
|
||||||
var res = checker(input, optional);
|
var res = checker(input, optional);
|
||||||
Valid[input] = res.IsValid;
|
Valid[input] = res.IsValid;
|
||||||
if (res.IsValid)
|
if (res.IsValid) {
|
||||||
Validator.SetInputValid(input);
|
if (InputHasChanged(input)) {
|
||||||
else
|
Validator.SetInputChanged(input);
|
||||||
|
} else {
|
||||||
|
Validator.ClearInputStatus(input);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
Validator.SetInputInvalid(input);
|
Validator.SetInputInvalid(input);
|
||||||
|
}
|
||||||
UpdateButtons();
|
UpdateButtons();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -403,7 +455,44 @@ namespace WGneu.Windows {
|
|||||||
MessageBox.Show(res.ErrorContent.ToString(), msg ?? res.ErrorContent.ToString(), MessageBoxButton.OK, MessageBoxImage.Warning);
|
MessageBox.Show(res.ErrorContent.ToString(), msg ?? res.ErrorContent.ToString(), MessageBoxButton.OK, MessageBoxImage.Warning);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void CheckBox_Changed(object sender, RoutedEventArgs e) {
|
||||||
|
var input = (CheckBox)sender;
|
||||||
|
if (InputHasChanged(input)) {
|
||||||
|
Validator.SetInputChanged(input);
|
||||||
|
} else {
|
||||||
|
Validator.ClearInputStatus(input);
|
||||||
|
}
|
||||||
|
UpdateButtons();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RadioButton_Changed(object sender, RoutedEventArgs e) {
|
||||||
|
var input = (RadioButton)sender;
|
||||||
|
if (InputHasChanged(input)) {
|
||||||
|
Validator.SetInputChanged(input);
|
||||||
|
} else {
|
||||||
|
Validator.ClearInputStatus(input);
|
||||||
|
}
|
||||||
|
UpdateButtons();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void TextBox_TextChanged(object sender, RoutedEventArgs e) {
|
||||||
|
var input = (TextBox)sender;
|
||||||
|
if (InputHasChanged(input)) {
|
||||||
|
Validator.SetInputChanged(input);
|
||||||
|
} else {
|
||||||
|
Validator.ClearInputStatus(input);
|
||||||
|
}
|
||||||
|
UpdateButtons();
|
||||||
|
}
|
||||||
|
|
||||||
private void ComboBox_SelectionChanged(object sender, RoutedEventArgs e) {
|
private void ComboBox_SelectionChanged(object sender, RoutedEventArgs e) {
|
||||||
|
var input = (ComboBox)sender;
|
||||||
|
if (InputHasChanged(input)) {
|
||||||
|
// TODO not working
|
||||||
|
Validator.SetInputChanged(input);
|
||||||
|
} else {
|
||||||
|
Validator.ClearInputStatus(input);
|
||||||
|
}
|
||||||
UpdateButtons();
|
UpdateButtons();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user