datepicker不允许字符



简短的问题,是否可以在数据键盘中禁用字符条目,以便允许用户输入数字,点和斜线?

善意

您可以处理 DatePickerPreviewTextInput事件:

<DatePicker x:Name="dp" PreviewTextInput="DatePicker_TextChanged" />

Private Sub DatePicker_TextChanged(sender As Object, e As TextCompositionEventArgs)
    If Not (Microsoft.VisualBasic.Information.IsNumeric(e.Text) Or e.Text = "." Or e.Text = "/" Or e.Text = "") Then
        e.Handled = True
    End If
End Sub

无论如何是否可以在代码后面执行此操作?

当然。尝试以下操作:

AddHandler dp.PreviewTextInput, AddressOf DatePicker_TextChanged

您必须自己做:

<TextBox PreviewTextInput="TextBox_PreviewTextInput"/>
private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    if(!is_number(e.Text) && !is_dot(e.Text) && ...)
    {
        e.Handled = true;
    }
}

设置e.handled = true拦截事件并防止采取行动。
我建议使用以下等级而不是is_number等...(我敢肯定那里有很多示例。

请注意,这将无法与太空键一起使用,您将必须使用PreviewKeydown事件,并且可能会在PreviewTextInput中使用其他一些键,并且会修改您的文本,但我无法想到任何。H3>编辑:

我刚刚看到您使用VB,我发布的代码是用于C#的,我不知道任何VB,但我认为这应该没有什么不同。

相关内容

最新更新