C# 将绑定名称作为参数传递
在WPF中,是否可以将绑定的名称/路径作为参数传递?例如,假设我有: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
<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在第一条评论中的链接。这和它有什么关系?阅读问题。。。。哇,你对请求帮助的人太粗鲁了。