Я пишу свое первое приложение Silverlight. У меня есть datagrid с столбцом, который имеет две метки, для ярлыков, я использую IValueConverter для условного форматирования данных.Передача значения поля в Silverlight ConverterParameter
"Содержимое" лейбла устанавливается как таковой:
Content="{Binding HomeScore, Converter={StaticResource fmtshs}}"
и
Content="{Binding AwayScore, Converter={StaticResource fmtshs}}"
Преобразование метод моего IValueConverter таково:
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?
я попробовал одно- кавычки, но в конвертере он дает мне строку «{Binding SomeOtherProperty}». Я что-то пропустил? :(PS. Я использую Silverlight 3. –
Посмотрите на Multibind преобразователи http://stackoverflow.com/questions/377841/what-should-the-converter-parameter-be-for-this-binding – Rauld