2009-08-25 5 views
2

Я создал простой конвертер для конкатенации текста четырех текстовых полей в моем приложении WPF.DependencyProperty.UnsetValue появляется при использовании IMultiValueConverter

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

public class FourString:IMultiValueConverter 
{ 
    public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) 
    { 

     return string.Format("{0}{1}{2}{3}", values[0], values[1], values[2], values[3]); 

    } 
    public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) 
    { 


     return new object[] { }; 
    } 

} 

в Xaml Я использую этот код:

<local:FourString x:Key="converter"/> 


    <TextBox Grid.ColumnSpan="4" Margin="95,7.5,71.25,3.75" Name="CodeBoatTxt" > 
          <TextBox.Text> 
           <MultiBinding Converter="{StaticResource converter}" > 
            <Binding ElementName="CountryStringaTxt" Path="Text" /> 
            <Binding ElementName="CityStringaTxt" Path="Text" /> 
            <Binding ElementName="ServiceStringaTxt" Path="Text" /> 
            <Binding ElementName="DurationStringaTxt" Path="Text" /> 

           </MultiBinding> 
          </TextBox.Text> 
         </TextBox> 

Когда в отладке, появляется эта ошибка в CodeBoatTxt текстовое поле: "DependecyProperty.UnsetValue".

Что не так с моим конвертером?

ответ

2

DependencyProperty.UnsetValue передается в преобразователь, если Binding действителен, но еще не установлен его значение. Я проверил бы Binding с вашим MultiBinding в изоляции и убедиться, что они верны.

+0

HI Kent, у вас есть права, я проверяю свой код и обнаружил ошибку для моего отвлечения внимания. Спасибо. Cheers – JayJay

Смежные вопросы