В WPF мы можем обновлять базовую модель данных всякий раз, когда пользователь вносит какие-либо изменения в данные, используя UpdateSourceTrigger следующим образом:
<TextBox Text="{Binding Path=TextProperty, UpdateSourceTrigger=PropertyChanged}"/>
В окне Phone Phone UpdateSourceTrigger не был включен в спецификацию XAML и для достижения этого был необходим обработчик TextChanged следующим образом:
(sender as TextBox).GetBindingExpression(TextBox.TextProperty).UpdateSource();
В Windows 8 я предположил, что UpdateSourceTrigger также будет опущен - я был прав. Однако я был удивлен, узнав, что GetBindingExpression() также отсутствует.
Каков наилучший способ выполнения в Windows 8 того, что мы выполнили в WPF с помощью UpdateSourceTrigger и в Windows Phone с GetBindingExpression(). UpdateSource()?
Обратите внимание: этот вопрос предназначен для разработки Windows 8 (Metro); этот другой вопрос ( "UpdateSourceTrigger = PropertyChanged" эквивалентен для Windows Phone 7 TextBox) предназначен для разработки Windows Phone - не путать.
В рамках исследования этот пример (который я создал) использует переопределение TextBox для замены текстового значения между двумя свойствами, вызывающими Обновить. Он основан на этом. Но есть ли лучший способ? Что-то элегантное?