【问题标题】:C# WPF add character to textbox without bindingC# WPF 将字符添加到文本框而不绑定
【发布时间】:2020-05-13 03:30:34
【问题描述】:

我可以在不将这些字符绑定到我的 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

我知道,我可以覆盖标签,但我想知道是否还有其他可能性。

【问题讨论】:

  • 你的意思是像字符串插值吗
  • 您需要双向绑定吗?那么用户可以更新文本框中的值吗?还是单向可以接受?
  • 两种方式,这就是问题所在。我不能像@OmegaMan 那样做

标签: c# binding textbox


【解决方案1】:

创建一个转换器,它将接受双精度并返回一个字符串。这是一个未经测试的示例,可帮助您入门:

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);    
    }
}

【讨论】:

    猜你喜欢
    • 2014-10-22
    • 1970-01-01
    • 2011-07-17
    • 2013-08-11
    • 2015-12-30
    • 2010-10-20
    • 2011-09-22
    • 2013-10-17
    • 1970-01-01
    相关资源
    最近更新 更多