Simplified input text filtering:
If user enters 10 digits, then these are split up for the date
This commit is contained in:
parent
8535608e07
commit
3fa35bb14a
@ -15,6 +15,15 @@ namespace BreCalClient
|
|||||||
string text = this.Text + e.Text;
|
string text = this.Text + e.Text;
|
||||||
if (this.Template.FindName("PART_TextBox", this) is not WatermarkTextBox tb) return;
|
if (this.Template.FindName("PART_TextBox", this) is not WatermarkTextBox tb) return;
|
||||||
|
|
||||||
|
if (Regex.IsMatch(text, @"^\d{10}"))
|
||||||
|
{
|
||||||
|
e.Handled = true;
|
||||||
|
tb.Text = Regex.Replace(text, @"(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})", "$1.$2.20$3 $4:$5");
|
||||||
|
tb.CaretIndex = tb.Text.Length;
|
||||||
|
tb.SelectedText = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
if (Regex.IsMatch(text, @"^\d{3}"))
|
if (Regex.IsMatch(text, @"^\d{3}"))
|
||||||
{
|
{
|
||||||
e.Handled = true;
|
e.Handled = true;
|
||||||
@ -57,6 +66,8 @@ namespace BreCalClient
|
|||||||
tb.CaretIndex = tb.Text.Length;
|
tb.CaretIndex = tb.Text.Length;
|
||||||
tb.SelectedText = null;
|
tb.SelectedText = null;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,7 +45,7 @@
|
|||||||
<ColumnDefinition Width=".5*" />
|
<ColumnDefinition Width=".5*" />
|
||||||
<ColumnDefinition Width=".5*" />
|
<ColumnDefinition Width=".5*" />
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<local:DateTimePickerExt x:Name="datePickerETD" Grid.Column="0" Grid.Row="0" Margin="2" Format="Custom" FormatString="dd.MM. yyyy HH:mm" ValueChanged="datePickerETD_ValueChanged" PreviewKeyUp="datePickerETD_PreviewKeyUp" PreviewTextInput="datePickerETD_PreviewTextInput"/>
|
<local:DateTimePickerExt x:Name="datePickerETD" Grid.Column="0" Grid.Row="0" Margin="2" Format="Custom" FormatString="dd.MM. yyyy HH:mm" ValueChanged="datePickerETD_ValueChanged" AllowTextInput="True" />
|
||||||
<local:DateTimePickerExt x:Name="datePickerETD_End" Grid.Column="1" Grid.Row="0" Margin="2" Format="Custom" FormatString="dd.MM. yyyy HH:mm" ValueChanged="datePickerETD_ValueChanged"/>
|
<local:DateTimePickerExt x:Name="datePickerETD_End" Grid.Column="1" Grid.Row="0" Margin="2" Format="Custom" FormatString="dd.MM. yyyy HH:mm" ValueChanged="datePickerETD_ValueChanged"/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Label Content="{x:Static p:Resources.textBerth}" Grid.Column="0" Grid.Row="2" HorizontalContentAlignment="Right" FontWeight="Bold"/>
|
<Label Content="{x:Static p:Resources.textBerth}" Grid.Column="0" Grid.Row="2" HorizontalContentAlignment="Right" FontWeight="Bold"/>
|
||||||
|
|||||||
@ -346,48 +346,7 @@ namespace BreCalClient
|
|||||||
CheckOKButton();
|
CheckOKButton();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private void datePickerETD_PreviewKeyUp(object sender, System.Windows.Input.KeyEventArgs e)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void datePickerETD_PreviewTextInput(object sender, System.Windows.Input.TextCompositionEventArgs e)
|
|
||||||
{
|
|
||||||
DateTimePicker? dp = (sender as DateTimePicker);
|
|
||||||
if(dp == null) return;
|
|
||||||
|
|
||||||
// Das ist der richtige Ansatz, funktioniert aber bei der Jahresangabe noch nicht ganz richtig.
|
|
||||||
// Die vom Agenten "vorgeschlagene" Zeit könnte auch der Watermark sein?
|
|
||||||
|
|
||||||
string text = dp.Text + e.Text;
|
|
||||||
if (dp.Template.FindName("PART_TextBox", dp) is not WatermarkTextBox tb) return;
|
|
||||||
|
|
||||||
if (Regex.IsMatch(text, @"^\d{3}"))
|
|
||||||
{
|
|
||||||
e.Handled = true;
|
|
||||||
tb.Text = Regex.Replace(text, @"(\d{2})(\d)", "$1.$2");
|
|
||||||
tb.CaretIndex = tb.Text.Length;
|
|
||||||
}
|
|
||||||
else if (Regex.IsMatch(text, @"^(\d{2}\.\d{3})"))
|
|
||||||
{
|
|
||||||
e.Handled = true;
|
|
||||||
tb.Text = Regex.Replace(text, @"^(\d{2}\.\d{2})(\d)", "$1.$2");
|
|
||||||
tb.CaretIndex = tb.Text.Length;
|
|
||||||
}
|
|
||||||
else if (Regex.IsMatch(text, @"^(\d{2}\.\d{2}\.\d{2} \d{3})"))
|
|
||||||
{
|
|
||||||
e.Handled = true;
|
|
||||||
tb.Text = Regex.Replace(text, @"(\d{2}\.\d{2}\.\d{2} \d{2})(\d)", "$1:$2");
|
|
||||||
tb.CaretIndex = tb.Text.Length;
|
|
||||||
}
|
|
||||||
else if (Regex.IsMatch(text, @"^(\d{2}\.\d{2}\.\d{4} \d{3})"))
|
|
||||||
{
|
|
||||||
e.Handled = true;
|
|
||||||
tb.Text = Regex.Replace(text, @"(\d{2}\.\d{2}\.\d{4} \d{2})(\d)", "$1:$2");
|
|
||||||
tb.CaretIndex = tb.Text.Length;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user