WPF Ivalueconverter пустые значения - PullRequest
1 голос
/ 31 октября 2010

Я использую Ivalueconverter, чтобы преобразовать строку в логическое значение, используя источник данных xml. Это работает нормально, пока я вручную не изменю xml примерно так:

myelement.InnerXml = "true"

Затем я получаю formatexception, говоря, что строка не является допустимым логическим значением, я проверяю значение, которое входит в мой конвертер, и оно равно ""

Вот мой конвертер:

[ValueConversion(typeof(string), typeof(bool))]
public class StringToBoolConverter : IValueConverter {
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
        return TypeDescriptor.GetConverter(typeof(bool)).ConvertFrom(value); }

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

Я привязываю конвертер так: <local:StringToBoolConverter x:Key="stringbool"></local:StringToBoolConverter>

И применить его в переплете: IsChecked="{Binding Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, XPath=myelement, Converter={StaticResource stringbool}}"

1 Ответ

1 голос
/ 31 октября 2010

Я не уверен, но если вы используете "XPath = myelement", строка должна быть

myCheckBox.DataContext="<myelement>true</myelement>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...