我想使用数字键盘(InputScope=Number
),但希望显示','而不是'。'在左下角,因为它是土耳其语的小数分隔符。
键盘布局取决于手机语言,即使我强制使用这样的代码文化:
System.Globalization.CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("tr-TR");
System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("tr-TR");
如何在左下角仅用','强制数字键盘?
或者至少如何检测KeyEventArgs上两个字符之间的差异?因为两者都返回Unknown作为密钥代码(很明显是相同的密钥),当用户按下时我无法想出区分它们的方法吗?
答案 0 :(得分:1)
这实际上是手机本身的设置。当区域设置为具有逗号小数分隔符和键盘的区域时,它将显示逗号。请参阅以下带有法语区域和法语键盘的屏幕截图
答案 1 :(得分:0)
鉴于您无法更改键盘的文化,您有两个选择:
例如:
private void txt_KeyUp(object sender, System.Windows.Input.KeyEventArgs e)
{
if (e.Key == System.Windows.Input.Key.Unknown)
{
txt.Text = txt.Text.Replace('.', ',');
// reset cursor position to the end of the text (replacing the text will place
// the cursor at the start)
txt.Select(txt.Text.Length, 0);
}
}