WPF TextBox.Text 与 MultiBinding

标签 wpf textbox triggers controltemplate multitrigger

我在默认模板中有带有文本框的自定义控件。
自定义控件具有以下 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/

相关文章:

c# - XAML ItemsSource 和 SelectedItem 绑定(bind)声明顺序很重要吧?

wpf - 任何免费的 3D 旋转木马控件可用吗?

c# - WPF 中的快速像素绘制

php - 操纵文本框并动态显示它?

google-apps-script - onEdit 简单触发器似乎永远不会被触发

wpf - 串行端口 WPF ComboBox 数据绑定(bind)

c# - 动态设置 RDLC 报告中文本框的大小

excel - VBA将2个用户表单文本框中的值合并到第三个文本框中

mysql - 在 SELECT 中设置一个包含 2 个元素的 var

MYSQL 根据表值更改值(约束还是触发器?)