Я бы также посоветовал не игнорировать папку .idea.
Я импортировал проект Eclipse на основе Git в Android Studio, и все прошло хорошо. Позже я хотел импортировать этот проект с помощью Git (как в первый раз) на другую машину с Android Studio, но это не сработало. Android Studio загрузила все файлы, но не смогла «увидеть» проект как проект. Я мог только открыть Git-файлы.
При первом импорте проекта (из Eclipse в Android Studio) мой старый .gitignore был перезаписан, а новый выглядел так:
Итак, я попытался использовать пустой gitignore, и теперь это сработало. Другая Android Studio может загружать файлы и проект. Я думаю, что некоторые файлы не важны для импорта и импорта Git, но я просто счастлив, что это сработало.
Боюсь, я не думаю, что то, что вы хотите делать, возможно. Команды не являются делегатами, поэтому вы не можете написать команду до события. Я думаю, что ваш лучший вариант - обработать событие Button.LostFocus
, а затем вручную выполнить команду из обработчика.
Нет ничего плохого в том, чтобы поместить код в код позади при использовании MVVM, это лучше всего свести его к минимуму и оставить код только для просмотра связанных задач. Я бы назвал это представление кода связанным, чтобы можно было поместить код в код позади.
Для этого можно использовать прикрепленные поведения. Марлон Греч написал библиотеку Attached Command Behaviors , чтобы избавить вас от неприятностей. Использование выглядит следующим образом:
<Grid>
<local:CommandBehaviorCollection.Behaviors>
<local:BehaviorBinding Event="MouseRightButtonDown" Command="{Binding SomeCommand}" CommandParameter="A Command on MouseRightButtonDown"/>
</local:CommandBehaviorCollection.Behaviors>
</Grid>