如何传递 IValueConverter 参数?
Posted
技术标签:
【中文标题】如何传递 IValueConverter 参数?【英文标题】:How to Pass IValueConverter Parameter? 【发布时间】:2016-09-24 08:32:10 【问题描述】:在XAML中,<Grid x:Name="MainGrid3">
,这里我想将MainGrid3
作为IValueConverter
的参数传递。我该怎么做?
【问题讨论】:
【参考方案1】:您的绑定中有ConverterParameter
,您可以在其中使用另一个绑定与您的网格的ElementName
。
<Grid Name="MainGrid3"></Grid>
<TextBlock Text="Binding SomeBinding, Converter=StaticResource SomeConverter,
ConverterParameter=Binding ElementName=MainGrid3"></TextBlock>
编辑:好的,显然我错了,你不能在 ConverterParameter 中使用绑定,因为它不是依赖属性。可行的解决方案是像这样使用x:Reference
:
<Grid Name="MainGrid3"></Grid>
<TextBlock Text="Binding SomeBinding, Converter=StaticResource SomeConverter,
ConverterParameter=x:Reference Name=MainGrid3"></TextBlock>
【讨论】:
“您可以在其中使用另一个与 ElementName 的绑定”。不正确,因为 Binding 的ConverterParameter
属性不是依赖属性,因此无法绑定。见这里:***.com/a/15309844/1136211以上是关于如何传递 IValueConverter 参数?的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin 形式:IValueConverter 在 Convert 方法中接收空值
如何使用 IValueConverter 接口在 Windows 商店应用程序中制作货币转换器?