进入第一个严肃的WPF项目.似乎缺少很多基本控件.具体来说,我正在寻找Numeric UpDown控件.有没有我错过的带外发布?真的不想写我自己的控件.
我不想使用WindowsFormHost并在其上安装WinForm ctl.我希望它完全没有任何遗留垃圾的WPF.
谢谢
您如何处理WPF应用程序中的数值输入?
没有NumericUpDown控件,我一直在使用TextBox并使用下面的代码处理它的PreviewKeyDown事件,但它非常难看.
有没有人发现更优雅的方式从用户那里获取数字数据而不依赖第三方控件?
private void NumericEditPreviewKeyDown(object sender, KeyEventArgs e)
{
bool isNumPadNumeric = (e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9) || e.Key == Key.Decimal;
bool isNumeric = (e.Key >= Key.D0 && e.Key <= Key.D9) || e.Key == Key.OemPeriod;
if ((isNumeric || isNumPadNumeric) && Keyboard.Modifiers != ModifierKeys.None)
{
e.Handled = true;
return;
}
bool isControl = ((Keyboard.Modifiers != ModifierKeys.None && Keyboard.Modifiers != ModifierKeys.Shift)
|| e.Key == Key.Back || e.Key == Key.Delete || e.Key == Key.Insert
|| e.Key == Key.Down || e.Key …Run Code Online (Sandbox Code Playgroud)