在WPF中,是否可以将绑定的名称/路径作为参数传递?例如,说我有这个:
<TextBox Width="300" Text="{Binding Path=Age, UpdateSourceTrigger=PropertyChanged, ValidatesOnNotifyDataErrors=True, NotifyOnValidationError=True, Converter={x:Static local:AgeConverter.Instance}, ConverterParameter={Binding ???}}" />
我可以放置任何内容而不是???
,以便参数值为&#34;年龄&#34;?
答案 0 :(得分:0)
正如@Alessandro所提到的,ConverterParameter
不是DependencyProperty
所以它不支持数据绑定。
但由于ConverterParameter
是Binding
类的常规属性,因此您可以通过编程方式设置其值。您可以在代码中执行此操作:
var myTextBox = new TextBox();
Binding myBinding = new Binding("Age");
myBinding.ConverterParameter = "set this to anything you want";
myTextBox.SetBinding(TextBlock.TextProperty, myBinding);
例如,您可以稍后在事件处理程序中更改ConverterParameter
的值以响应用户输入。下次更新绑定时,它会使用新的Converter
调用ConverterParameter
。
private void Button_Click(object sender, RoutedEventArgs e)
{
myBinding.ConverterParameter = "a different converter parameter";
}