我创建了一个简单的Converter来连接我的WPF应用程序中的四个TextBox文本。
这是转换器:
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”。
我的转换器出了什么问题?
答案 0 :(得分:2)
DependencyProperty.UnsetValue
有效时, Binding
会传递到转换器,但尚未设置其值。我会单独检查包含Binding
MultiBinding
的{{1}},并确保它们是正确的。