并重写 ConvertTextToValue 方法: protected override byte ? Convert

时间:2021-07-06 04:30:27

在WPF中,针对byte类型的输入控件可以选用 XCEED 的免费库中的 Xceed.Wpf.Toolkit.ByteUpDown(可从nuget获取)。

若要使该控件在界面上以16进制显示byte,则将其 FormatString="X" 即可。

然而此时,在此中键入数字时,,仍然是凭据 10 进制输入(例如,键入‘A’,会掉败,键入‘16’,会显示‘10’),那如何令其接受 16 进制的输入呢?

可新建用户控件,使其直接担任自 Xceed.Wpf.Toolkit.ByteUpDown ,并重写 ConvertTextToValue 要领:

protected override byte? ConvertTextToValue(string text) { //输入hex字符串 return System.Convert.ToByte(text, 16); }

在界面上使用该用户控件即可。