Я структурирую свое приложение WPF с использованием MVVM Light и создаю модель представления с использованием IOC.
Страница инициализирует свой DataContext следующим образом:
DataContext="{Binding Main, Source={StaticResource Locator}}"
Контент TabControl привязан к другой ViewModel, поэтому привязка из TabControl по умолчанию будет обращаться к вкладке ViewModel.
Теперь, как мне получить доступ к странице ViewModel в XAML?
Перед переключением на использование IOC ViewModel был создан как StaticResource, и я мог получить к нему доступ вот так
Zoom="{Binding Zoom, Source={StaticResource ViewModel}, Mode=TwoWay}"
Тогда я мог бы также получить к нему доступ через локатор, однако мне не нравится этот синтаксис, что происходит, если этот экземпляр ViewModel был создан с ключом? Я не думаю, что привязка контента должна заботиться о таких деталях.
Zoom="{Binding Main.Zoom, Source={StaticResource Locator}, Mode=TwoWay}"
Как правильно это сделать?