我在默认模板中使用TextBox进行自定义控制。 自定义控件具有以下2个依赖项属性:
SelectedValue,NullText(当没有选择任何内容并提供值时,文本将显示在TextBox中)
当SelectedValue
null为NullText
非空时,我想设置带有NullText 值的TextBox.Text。
<TextBox.Text>
<MultiBinding Converter="{StaticResource myConverter}">
<Binding RelativeSource="TemplatedParent" Path="SelectedValue"/>
<Binding RelativeSource="TemplatedParent" Path="NullText"/>
</MultiBinding>
</TextBox.Text>
我有一个IMultiValueConverter:
public class MyConverter : IMultiValueConverter
{}
使用这个XAML定义我得到'类型没有公共TypeConverter类'异常
请问你怎么解决?
答案 0 :(得分:22)
我自己找到了解决方案: 问题在于RelativeSource。 这就是它应该是这样的:
<TextBox.Text>
<MultiBinding Converter="{StaticResource myConverter}">
<Binding RelativeSource="{RelativeSource TemplatedParent}" Path="SelectedValue"/>
<Binding RelativeSource="{RelativeSource TemplatedParent}" Path="NullText"/>
</MultiBinding>
</TextBox.Text>