C# 如何在文本框字段中输入十进制值?

C# 如何在文本框字段中输入十进制值?,c#,wpf,C#,Wpf,如何在文本框中输入十进制值?例如,我想把值设为0.20或20,但读作20% 因为您应该将此类代码排除在业务逻辑之外,所以您可能希望使用与自定义值转换器组合的 在您的情况下,文本框可能会在不知道您的代码的情况下显示如下: <TextBox Text="{Binding PercentValue, StringFormat=P, Converter={StaticResource PercentageConverter}}" /> 这里的“p”将0.25视为25%。这应该有效

如何在文本框中输入十进制值?例如,我想把值设为0.20或20,但读作20%

因为您应该将此类代码排除在业务逻辑之外,所以您可能希望使用与自定义值转换器组合的

在您的情况下,
文本框
可能会在不知道您的代码的情况下显示如下:

<TextBox Text="{Binding PercentValue, StringFormat=P, Converter={StaticResource PercentageConverter}}" />

这里的“p”将
0.25
视为25%。

这应该有效

        decimal val = 0M;
        decimal.TryParse(YourTextBox.Text, out val);
        decimal valAsPercent = val * 100;
        // Then when you want to stuff the new value back into your textbox
        YourTextBox.Text = valAsPercent.ToString() + "%";

那么您想将值格式化为百分比掩码吗?您可以在绑定中指定
StringFormat
,如链接问题所示。如果您需要更高级的东西,例如将“0.2”或“20”转换为百分比,您可以使用
转换器。对于仅转换“20”的转换器示例,请选中-您应该能够轻松地修改它,以检查类似“.20”的内容。转换器必须作为资源导入XAML。你的答案是不完整的,但你自己并不了解它是如何运作的。