Вам не нужно передавать ViewModel
в Page
через конструктор, вы можете установить BindingContext
:
<MasterDetailPage.Master>
<pages:AttendPageMaster x:Name="MasterPage">
<pages:AttendPageMaster.BindingContext>
<myViewModels:AttendanceViewModel />
</pages:AttendPageMaster.BindingContext>
</pages:AttendPageMaster>
</MasterDetailPage.Master>
. Это решение будет работать, если ваш ViewModel
не ожидает каких-либопараметры в конструкторе.В противном случае вы можете использовать ViewModelLocator
и DI
для ввода параметров конструктора.Обратите внимание, что myViewModels
должно быть определено в заголовке вашей XAML-страницы как xmlns:myViewModels
.
PS: Ранее вы упоминали, что получили исключение при попытке использовать подход кода.Вы можете легко решить эту проблему, установив Title
свойство AttendPageMaster
.Пример:
new AttendPageMaster(new AttendanceViewModel()){ Title = " " };