C# WPF добавляет символ в текстовое поле без привязки - PullRequest
1 голос
/ 27 января 2020

Могу ли я просто добавить символы без привязки этих символов к моей ViewModel? Мне нужно, чтобы они отображали физические единицы, такие как см , мм , м , см ^ 3 , ...

XAML:

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

VW:

value_top = 22.9

Цель выхода:

22.9 cm

Я знаю, я могу наложить метку, но я хотел бы знать если есть другая возможность.

1 Ответ

1 голос
/ 27 января 2020

Создайте конвертер, который возьмет double и вернет строку. Вот непроверенный пример, с которого можно начать:

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