В основном ViewModel является оберткой вокруг модели. Теперь, когда еще не могло бы быть очень полезным:-), Думают о модели как о данных Ваши работы приложения с, говорит человек. Теперь у человека есть день рождения, и Вы могли бы хотеть иметь форму для ввода дня рождения человека. Предположим, что мы просто используем простой TextBox, дата разоблачает что-то как 02.01.2009 0:00:00. Для начинающих мы не хотим часть времени, и мы также не могли бы быть к довольному 02.01.2009 частями, поскольку это зависит от Ваших настроек локали.
, Таким образом, здесь ViewModel приезжает im. Это обертывает класс Человека и представило дату как три целочисленных значения, год, месяц и день. В наборе свойств это пытается создать дату из различных значений и отображает любые ошибки, которые могли бы произойти.
так так сказал, что ViewModel является Образцовой оберткой, конкретно приспособленной к конкретному представлению (дисплей). Это устраняет большую часть IValueConvertors одновременно.
у Josh Smith есть хорошее объяснение здесь: http://joshsmithonwpf.wordpress.com/2008/11/14/using-a-viewmodel-to-provide-meaningful-validation-error-messages и большое обсуждение здесь: http://groups.google.com/group/wpf-disciples/browse_thread/thread/3fe270cd107f184f?pli=1
Вы можете получить TextView с помощью метода onFocuseChange слушателя LinearLayout. Что-то вроде
public void onFocusChange(View v, boolean hasFocus) {
TextView tv = (TextView)v.findViewById(R.id.myTextView);
tv.setTextColor(R.color.foo);
}
Поскольку ваш LL может размещать несколько виджетов, я думаю, ожидается, что onFocus LL не будет распространяться, даже если у вас есть один элемент управления