C# 将绑定名称作为参数传递

C# 将绑定名称作为参数传递,c#,wpf,xaml,C#,Wpf,Xaml,在WPF中,是否可以将绑定的名称/路径作为参数传递?例如,假设我有: <TextBox Width="300" Text="{Binding Path=Age, UpdateSourceTrigger=PropertyChanged, ValidatesOnNotifyDataErrors=True, NotifyOnValidationError=True, Converter={x:Static local:AgeConverter.Instance}, ConverterParame

在WPF中,是否可以将绑定的名称/路径作为参数传递?例如,假设我有:

<TextBox Width="300" Text="{Binding Path=Age, UpdateSourceTrigger=PropertyChanged, ValidatesOnNotifyDataErrors=True, NotifyOnValidationError=True, Converter={x:Static local:AgeConverter.Instance}, ConverterParameter={Binding ???}}" />


有没有什么可以代替
的参数值是“Age”?

正如@Alessandro提到的,
转换器参数
不是
依赖属性,因此它不支持数据绑定

但是由于
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
的值,以响应用户输入。下次更新绑定时,它将使用新的
ConverterParameter
调用
Converter

private void Button_Click(object sender, RoutedEventArgs e)
{
    myBinding.ConverterParameter = "a different converter parameter";
}

可能是重复的那跟它有什么关系?阅读问题。短语“ConverterParameter属性不是依赖性属性,因此无法绑定。”是否可以告诉您一些相关信息?要使参数值为“Age”,应将ConverterParameter=Age。如果你想要一些不同的东西,请参阅Alessandro在第一条评论中的链接。这和它有什么关系?阅读问题。。。。哇,你对请求帮助的人太粗鲁了。