Je suis un tutoriel débutant sur MVVM Light et UWP. J'ai un ViewModel avec juste un champ de chaîne qui est lié à un TextBlock en vue principale comme ceci:Affichage MVW Light UWP affiché uniquement au moment du design
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<TextBlock Name="Title" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="24" Text="{Binding Title}" />
</Grid>
Le ViewModelLocator est défini comme celui-ci dans App.xaml:
<Application.Resources>
<vm:ViewModelLocator xmlns:vm="using:MvvmLight.UWP.ViewModels" x:Key="Locator" />
</Application.Resources>
et la classe ViewModelLocator ressemble à ceci:
public ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
SimpleIoc.Default.Register<StartPageViewModel>();
}
public StartPageViewModel StartPageInstance
{
get { return ServiceLocator.Current.GetInstance<StartPageViewModel>(); }
}
dans le ViewModel j'ai ce dans le constructeur:
Title = "Hello world!";
Maintenant, dans Design Time, le texte semble bien dans le concepteur, mais lorsque j'exécute l'application, je n'ai qu'une page blanche et je n'arrive pas à comprendre pourquoi.
Toute suggestion aiderait.
Le seul DataContext déclaré dans StartPage.xaml est celui-ci: 'DataContext =" {Reliure StartPageInstance, Source = {StaticResource Locator}} "' –
Comme je l'ai dit dans la question, je vois le texte de l'heure de conception, je ne le vois pas à l'exécution. –
Le setter de la propriété Title notifie-t-il? –