2009-08-25 15 views
2

J'ai créé un convertisseur simple pour concaténer le texte de quatre TextBoxes dans mon application WPF.DependencyProperty.UnsetValue s'affiche lors de l'utilisation d'un IMultiValueConverter

Voici le convertisseur:

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[] { }; 
    } 

} 

en XAML J'utilise ce code:

<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> 

En cas de débogage, cette erreur apparaît dans la zone de texte CodeBoatTxt: "DependecyProperty.UnsetValue".

Quel est le problème avec mon convertisseur?

Répondre

2

DependencyProperty.UnsetValue est passé dans le convertisseur lorsqu'un Binding est valide, mais sa valeur n'a pas encore été définie. Je voudrais vérifier les Binding s comprenant votre MultiBinding en isolation et assurez-vous qu'ils sont corrects.

+0

HI Kent, vous avez raison je vérifie mon code et ai trouvé une erreur pour ma distraction. Merci. À la votre – JayJay