如何在UWP的WinUI中为NumberBox正确应用PercentFormatter(避免末尾多余零)
解决UWP NumberBox添加百分比标识时的多余零问题
看你已经把NumberBox显示百分比的基础配置搞定了,但碰到了自动加多余零的小问题——比如设数值75,结果显示成75.0%对吧?这个其实是PercentFormatter的一个默认属性在作祟,咱们一行代码就能解决:
问题根源
PercentFormatter默认开启了IsDecimalPointAlwaysDisplayed属性(默认值为true),哪怕你把FractionDigits设为0,它还是会强制显示小数点和后续的零,导致出现多余尾缀。
修复后的完整代码
只需要在Formatter配置里加一行,禁用强制显示小数点的功能:
double number = 75; NumberBox numberBox = new NumberBox { }; numberBox.Minimum = 0; numberBox.Maximum = 100; PercentFormatter percentFormatter = new PercentFormatter(); percentFormatter.FractionDigits = 0; percentFormatter.IntegerDigits = 1; // 关键配置:关闭强制显示小数点,避免多余零 percentFormatter.IsDecimalPointAlwaysDisplayed = false; numberBox.NumberFormatter = percentFormatter; numberBox.Value = number;
效果验证
修改后,设置数值75时,NumberBox会正确显示为75%,不会再出现.0这类多余尾缀,同时依然保留0%-100%的数值范围限制,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者PremKumar Shanmugam
相关产品推荐
相关产品推荐

