C# WPF 在不绑定的情况下向文本框添加字符
C# WPF add character to textbox without binding
我可以 简单地 添加字符而不将这些字符绑定到我的 ViewModel 吗?
我需要这些来显示物理单位,例如 cm、mm、m、cm ^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);
}
}
我可以 简单地 添加字符而不将这些字符绑定到我的 ViewModel 吗? 我需要这些来显示物理单位,例如 cm、mm、m、cm ^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);
}
}