在我的WPF应用程序中,用户输入的格式为度数:分钟:秒为小数分数。
因此60°30'45“将输入为60°30.750'。
然后我将其存储为纯十进制数,因此上面的示例将存储为60.5125。
这个想法是因为用户不会搞砸它将在3个不同的文本框中设置的输入。一个用于度,另一个用于分钟,一个用于小数秒。有一个数字被分成两个文本框,但是如果他们必须输入整数,那就是害怕所有的点或逗号的混乱,并且他们可能搞砸了。
所以我认为可能有一件事是IMultiValueConverter,但它似乎只适用于MultiBindings,这是我在这里没做的事。
目前我的解决方案是绑定到不同的属性并在代码中进行所有计算,但我对分数位并不满意。我假设3个小数字母,但如果它们只输入7并假设为0.700但得到0.007所以我认为我必须做一个字符串格式位。
那里有更好的解决方案吗?我可以使用MultiValueConverter这样的东西吗?
答案 0 :(得分:2)
您可以尝试使用MaskedTextBox,例如Extended WPF Toolkit中的那个。
答案 1 :(得分:1)
您可以使用Masked TextBox。此implementation使用MaskedTextProvider,这是.net类。