扩展 WPF 工具包 - WatermarkPasswordBox 防止输入输入值
Extended WPF Toolkit - WatermarkPasswordBox prevent from typing in enter value
我有一个小问题,如标题所示,WatermarkPasswordBox。如果我使用普通 WPF 的 PasswordBox,我不能在那里输入 Enter 键(值是 \n
),这很好。但是当我使用 Extended WPF Toolkit 中的 WatermarkPasswordBox 时,它会不断地输入 Enter 值。
我试过用这种方式在回车键上什么都不做:
private void TextBox_Password_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
}
}
private void TextBox_Password_KeyUp(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
}
}
private void TextBox_Password_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
}
}
private void TextBox_Password_PreviewKeyUp(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
}
}
但这没有帮助..我真的很想使用 Extended WPF Toolkit 的 PasswordBox,但这很烦人。
更准确地说:
通常处理回车键的不是文本框本身;相反,如果表单包含一个标记为默认的按钮,该按钮会拦截当前对话框的回车键。如果表单上有这样的按钮,则不需要显式处理回车键。
但是如果你想这样做的话,方法是处理 PreviewKeyDown 事件并将 EventArgs 的 Handled 属性 设置为 true:
private void WatermarkPasswordBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter) e.Handled = true;
}
我有一个小问题,如标题所示,WatermarkPasswordBox。如果我使用普通 WPF 的 PasswordBox,我不能在那里输入 Enter 键(值是 \n
),这很好。但是当我使用 Extended WPF Toolkit 中的 WatermarkPasswordBox 时,它会不断地输入 Enter 值。
我试过用这种方式在回车键上什么都不做:
private void TextBox_Password_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
}
}
private void TextBox_Password_KeyUp(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
}
}
private void TextBox_Password_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
}
}
private void TextBox_Password_PreviewKeyUp(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
}
}
但这没有帮助..我真的很想使用 Extended WPF Toolkit 的 PasswordBox,但这很烦人。
更准确地说:
通常处理回车键的不是文本框本身;相反,如果表单包含一个标记为默认的按钮,该按钮会拦截当前对话框的回车键。如果表单上有这样的按钮,则不需要显式处理回车键。
但是如果你想这样做的话,方法是处理 PreviewKeyDown 事件并将 EventArgs 的 Handled 属性 设置为 true:
private void WatermarkPasswordBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter) e.Handled = true;
}