У меня была похожая проблема раньше. Я создал класс ViewModelLocator, который имеет общие свойства для моих моделей представлений. Эти свойства извлекаются через контейнер IoC:
public partial class ViewModelLocator
{
public MainPageViewModel MainPageViewModel
{
get { return this.containerLocator.Container.Resolve<MainPageViewModel>(); }
}
}
Затем вам нужно создать статический ресурс в вашем App.xaml:
<Application.Resources>
<viewmodels:ViewModelLocator x:Key="ViewModelLocator"/>
</Application.Resources>
И, наконец, вы можете использовать это в DataTemplate:
<DataTemplate x:Key="template">
<CheckBox Visibility="{Binding MainPageViewModel.IsVisible, Source={StaticResource ViewModelLocator}}"/>
</DataTemplate>