2016-04-09 29 views
0

Was ist der empfohlene Ersatz für die Verwendung des Bind.Model-Tags aus Version 1.x?Caliburn.Micro 2.0/3.0 Bind.Model Ersatz

Ich migriere endlich etwas Code von Caliburn 1.x zu 3.0. Die Migrationsdokumentation besagt, dass Bind.Model veraltet ist und nicht mehr verwendet werden sollte. Ich habe jedoch einige allgemeine Benutzersteuerelemente (Header, Footer, Tastaturen), die ich in mehreren Ansichten verwende. In 1.x habe ich das Bind.Model-Tag verwendet, um die Ansicht explizit mit dem ViewModel zu verbinden und die Ereignisse/Aktionen zu verarbeiten. In 3.0 akzeptiert es immer noch das Bind.Model-Tag und dies scheint für die Dateneigenschaften OK zu sein, aber die Schaltflächen-/Aktionsverarbeitung funktioniert nicht richtig.

Ich habe versucht, die Verwendung von wie hier vorgeschlagen: Dialog view containing two Caliburn.Micro views?

Diese mir eine Nachricht in dem Fenster gibt, das heißt es kann die Ansicht nicht finden.

Alle anderen Referenzen, die ich zum Einbetten von Ansichten finden konnte, verwenden das Bind.Model-Tag.

Antwort

0

Nicht alle Anwendungsfälle von Bind.Model veraltet sind, 2.0.0 Versionen vor eine Syntax unterstützt, wenn Sie so etwas wie tun könnte:

<SomeControl cm:Bind.Model="SomeViewModel" /> 

, wo der Wert eine Zeichenfolge war, die eine Anforderung an den IoC-Container zu einer Ansicht verursacht Modell registriert unter "SomeViewModel".

Dieser Anwendungsfall wurde in 2.0.0 als veraltet eingestuft und in 3.0.0 entfernt.

Der Anwendungsfall einer ausdrücklichen Bindung, wie in:

<SomeControl cm:Bind.Model="{Binding SomeViewModel}" /> 

ist noch zu 100% ohne Pläne unterstützt, dies zu ändern.