我在默认模板中有带有文本框的自定义控件。
自定义控件具有以下 2 个依赖属性(除其他外):
SelectedValue、NullText(未选择任何内容并提供值时出现在 TextBox 中的文本)
我想使用 NullText 设置 TextBox.Text SelectedValue
时的值null 是和 NullText
不为空是。
<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 定义,我得到了“类型没有公共(public) TypeConverter 类”异常
请问你会怎么解决?
最佳答案
我找到了 解决方案 我自己:
问题出在RelativeSource 上。
它应该是这样的:
<TextBox.Text>
<MultiBinding Converter="{StaticResource myConverter}">
<Binding RelativeSource="{RelativeSource TemplatedParent}" Path="SelectedValue"/>
<Binding RelativeSource="{RelativeSource TemplatedParent}" Path="NullText"/>
</MultiBinding>
</TextBox.Text>
关于WPF TextBox.Text 与 MultiBinding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2185168/