Как привязать несколько значений к одному текстовому блоку.Текст в WP7?
Как я могу привязать 2 свойства к одному текстовому блоку.Текст (напр. имя и фамилия или текущее значение и максимальное значение)?
Что-то вроде:
// IValueConverter
public object Convert( .... )
{
return string.Format("{0} (max: {1})", currentValue, maxValue);
}
Проблема в том, что я хочу TextBlock.Текст, который будет обновляться, когда currentValue
или maxValue
изменился. Итак, как я могу слушать изменения от 2 или более свойств, используя привязку данных?
IValueConverter
?2 ответа:
Silverlight 3 (на котором построен фреймворк Windows Phone 7) не поддерживает Многобайндинг, который вы бы использовали для достижения того, что вам нужно. Однако есть обходное решение, которое вы можете использовать, описанное в постеMultiBinding для Sivlerlight 3 , которое также должно работать на WP7.
Кроме того, вы можете расширить модель представления (или, по крайней мере, свойства, которые вы предоставляете), чтобы предоставить свойство, которое агрегирует ваши значения и вызывает изменение свойств уведомление о любых изменениях.
Если вы работаете с WP7. 1 (я знаю, что вы упомянули WP7), взгляните на Cimbalino Windows Phone Toolkit. Он предлагаетMultiBindingBehavior .