ShellViewModel : Conductor<T>.Collection.OneActive
を考えてみましょう。ここでは2つのViewModelをPropertyInjectionから注入します。したがって、これらのビューモデルは常に同じインスタンスを持ちます。Caliburn Micro ActivateItemはバインディングを更新しません
public SomeViewModel SomeViewModel {get; set;}
public AnotherViewModel AnotherViewModel {get; set;}
SomeViewModelは(NotifyPropertyChanged有する)プロパティにテキストを結合し、取り付けられた変換器を有するテキストブロックを有しています。
ActivateItem(someViewModel)
を初めて呼び出すときは、SomeView.xaml
で定義されているコンバータを入力します。ActivateItem(AnotherViewModel)
に電話してもう一度ActivateItem(SomeViewModel)
を入力した場合は、このコンバーターを入力しません。
ActivateItemを呼び出すと常にバインディングが更新され、コンバータが再び実行されるか、間違っていると思いますか?
私は、プロパティ自体に何も変更されておらず、NotifyPropertyChangedは呼び出されていないことを認識しています。しかし、私はusercontrolを可視化することでバインディングがリフレッシュされることを期待しています。
- はの
OnActivate()
でRefresh()
を呼び出す: は、私の知る限り、これはなく、これらのバインディングがリフレッシュされることを確認する方法はありCaliburn.Microずに古い学校WPFアプリケーションで何が起こるかでありますこれはbecausを起こる
Refresh()