我正在编写我的第一个 Silverlight 应用程序。我有一个带有两个标签的列的数据网格,对于标签,我使用 IValueConverter 有条件地格式化数据。
标签的“内容”设置如下:
Content="{Binding HomeScore, Converter={StaticResource fmtshs}}"
和
Content="{Binding AwayScore, Converter={StaticResource fmtshs}}"
我的 IValueConverter的Convert方法是这样的:
Public Function Convert(
ByVal value As Object,
ByVal targetType As System.Type,
ByVal parameter As Object,
ByVal culture As System.Globalization.CultureInfo) As Object
Implements System.Windows.Data.IValueConverter.Convert
Dim score As Long = value, other As Long = parameter
Return If(score < 0, "",
If(score - other > 5, (other + 5).ToString, score.ToString)
)
End Function
所以我想做的是在 HomeScore 的转换器中,我想将 AwayScore 传递给 ConverterParameter,而对于 AwayScore,我想将 HomeScore 传递给转换器。在任一分数的转换器中,我需要能够知道另一个分数的值以进行格式化。
但我无法弄清楚将 ConverterParameter 绑定到另一个字段的语法。
我尝试了以下方法:
Content="{Binding HomeScore, Converter={StaticResource fmtshs}, ConverterParameter=AwayScore}"
Content="{Binding HomeScore, Converter={StaticResource fmtshs}, ConverterParameter={AwayScore}}"
Content="{Binding HomeScore, Converter={StaticResource fmtshs}, ConverterParameter={Binding AwayScore}}"
但这些似乎都不起作用。如何将字段值传递给 ConverterParameter?