9

我在默认模板中有带有文本框的自定义控件。自定义控件具有以下 2 个依赖属性(除其他外):

SelectedValue、NullText(未选择任何内容并提供值时出现在 TextBox 中的文本)

当null 是并且not null 是时,我想将 TextBox.Text 设置为 NullText值。SelectedValueNullText

<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 类”异常

请问你会怎么解决?

4

1 回答 1

25

我自己找到了解决方案:问题出在RelativeSource。它应该是这样的:

<TextBox.Text>                                              
 <MultiBinding Converter="{StaticResource myConverter}">
   <Binding RelativeSource="{RelativeSource TemplatedParent}" Path="SelectedValue"/>
   <Binding RelativeSource="{RelativeSource TemplatedParent}" Path="NullText"/>
 </MultiBinding>                                              
</TextBox.Text>
于 2010-02-02T15:31:04.447 回答