Как данные связывают несколько значений с одним TextBlock.Text в WP7? - PullRequest
9 голосов
/ 11 февраля 2011

Как связать 2 свойства с одним TextBlock.Text (например, имя и фамилия или текущее значение и максимальное значение)?

что-то вроде:

// IValueConverter
public object Convert( .... )
{
    return string.Format("{0} (max: {1})", currentValue, maxValue);
}

проблема в том, что я хочу, чтобы TextBlock.Text обновлялся при изменении currentValue или maxValue.Так как же я могу прослушать изменения из 2 или более свойств, используя привязку данных?

Есть ли другой способ, чем использование IValueConverter?

Ответы [ 2 ]

9 голосов
/ 11 февраля 2011

Silverlight 3 (на котором построен каркас Windows Phone 7) не поддерживает MultiBinding, и это то, что вы бы использовали для достижения того, что вам нужно. Однако есть обходное решение, которое вы можете использовать, описанное в посте MultiBinding для Sivlerlight 3 , которое также должно работать на WP7.

Кроме того, вы можете расширить модель представления (или, по крайней мере, свойства, которые вы предоставляете), чтобы предоставить свойство, которое объединяет ваши значения и вызывает уведомление об изменении свойства при любом из изменений.

2 голосов
/ 01 марта 2014

Если вы работаете с WP7.1 (я знаю, что вы упоминали WP7), взгляните на Cimbalino Windows Phone Toolkit . Он предлагает MultiBindingBehavior .

...