Пользовательские строки Дисплея C#/WPF (например, замена “0” с string.empty)

Является ли (NaN> = 0) ? ...... " Я не знаю ".

function IsNotNumber( i ){
    if( i >= 0 ){ return false; }
    if( i <= 0 ){ return false; }
    return true;
}

Условия выполняются только если ИСТИНА .

Не в ЛОЖЬ .

Не на « Я не знаю ».

6
задан Magnus Lindhe 9 July 2009 в 09:24
поделиться

3 ответа

Я думаю, что единственный способ помимо использования ViewModel - это создать собственный ValueConverter.

Итак, в основном ваш выбор:

ViewModel:

private string ageText;
public string AgeText{
    get{
        if(ageText.equals("0"))
            return string.empty;

        return ageText;
    }
    ...
}

ValueConverter:

public class AgeTextConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        if (value.Equals("0"))
            return string.Empty;

        return value;
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {

    }
}
7
ответ дан 8 December 2019 в 13:01
поделиться

Я нашел кое-что на http://www.codeproject.com/KB/books/0735616485.aspx
Это поможет:

Text="{Binding AgeText, StringFormat='\{0:#0;(#0); }'}"

Ура

7
ответ дан 8 December 2019 в 13:01
поделиться

Поскольку свойство Age, очевидно, здесь является числом, другим способом было бы выставить Age как int и используйте атрибут StringFormat в Binding :

Text="{Binding Age, Mode=TwoWay, StringFormat='{}{0:#}'}"
4
ответ дан 8 December 2019 в 13:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: