C# WPF 在不绑定的情况下向文本框添加字符

C# WPF add character to textbox without binding

我可以 简单地 添加字符而不将这些字符绑定到我的 ViewModel 吗? 我需要这些来显示物理单位,例如 cmmmmcm ^3, ...

XAML:

<TextBox 
Text="{Binding value_top}" //sth. like + "cm"
HorizontalAlignment="Left" 
VerticalAlignment="Top" 
Width="50"/>

大众:

value_top = 22.9

输出目标:

22.9 cm

我知道,我可以叠加一个标签,但我想知道是否还有另一种可能性。

创建一个转换器,它将采用双精度和 return 字符串。这是一个帮助您入门的未经测试的示例:

public class DoubleToString: IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        var dbl = (double) value;

        return $"{dbl} cm";           
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return Double.Parse(Regex.Match(value.ToString(), "[\d.]+").Value);    
    }
}