I started to learn Caliburn.Micro with UWP. first, I found a good example at here. https://github.com/IanSavchenko/BleLab ( Thank you, Ian )
This application has BumbugerMenu + Caliburn.Micro. in this project, BumbergerMenu root is "Main". and Sub menu is "About","Setting","Device". My Quesiton is .. How to write "ViewModel" as Normal.
First is "MainViewModels" The class is extend with "Conductor"
sub Menu "AboutViewModel" The class is extend iwth "PropertyChangedBase"
sub Menu "DeviceViewModel" The class is extend with Conductor, IHandle
Q1 : When should I use "Conductor" instead of "PropertyChangedBase"
Q2 : in MainViewModel, Why can the class "MainViewModel" expect this arguments when initialize ? I read manual of Caliburn.Micro, but I can not understand why..
public MainViewModel(
DeviceShellViewModel deviceShellViewModel,
AboutViewModel aboutViewModel,
SettingsViewModel settingsViewModel)
{
_deviceShellViewModel = deviceShellViewModel;
_aboutViewModel = aboutViewModel;
_settingsViewModel = settingsViewModel;
ActivateItem(_deviceShellViewModel);
}
DeviceModel constructor has different arguments.. Wow. I can not understand it.
public DeviceViewModel(DeviceInfo deviceInfo)
{
_commandRunner = IoC.Get<CommandRunner>();
_eventAggregator = IoC.Get<IEventAggregator>();
_deviceInfo = deviceInfo;
}