Ich bin neu in MVVM und versuchen, alle Richtlinien zu befolgen, die ich finde, um es zu respektieren. Ich möchte eine Busy-Animation auf einer meiner Benutzersteuerungen haben. Ich möchte es so in die Steuerung einbeziehen.WPF MVVM Ausnahme bei der Registrierung von UserControl in DataContext
Die Usercontrol es verschachtelt ist in auf dem Hauptfenster gezeigt, die eine Datatemplate für ein Ansichtsmodell, zum Beispiel wie so mit:
<Window.Resources>
<DataTemplate DataType="{x:Type AppViews:AppConfigViewModel}">
<local:AppConfigView />
</DataTemplate>
</Window.Resources>
<Grid>
<ContentControl Content="{Binding CurrentPageViewModel}" />
</Grid>
Wenn dies ausgeführt wird, wird die Anwendung gezeigt und ich auch sehen die Ansicht für das AppConfigViewModel, das korrekt gebunden wird, da die zugrunde liegenden Werte in der Ansicht korrekt angezeigt werden.
Jetzt habe ich versucht, die BusyAnimation im Ansichtsmodell zu registrieren (es von dort aus steuern), indem diese von der BusyAnimation im Constructor tun:
(DataContext as PageViewModel).BusyAnim = this;
Aus irgendeinem Grunde die Datacontext ist immer null und die Das Ergebnis dieser Zeile ist eine Ausnahme. Was mache ich hier falsch?
Bitte denken Sie immer daran, den Stacktrace Ihrer Exception zu posten. Wo wird es geworfen? – ltiveron
Die Exception wird im Konstruktor der BusyAnimation ausgelöst. – Ravior