C# Caliburn.Micro怎么写?
我开始用UWP学习Caliburn.Micro。 首先,我在这里找到了一个很好的例子。 (谢谢你,伊恩) 此应用程序具有BumbugerMenu+Caliburn.Micro。 在这个项目中,, BumbergerMenu根是“Main”。 子菜单为“关于”、“设置”、“设备”。 我的问题是。。 如何正常编写“视图模型”。 首先是“ 该类用“导体”扩展 子菜单“” 该类是通过“PropertyChangedBase”扩展的 子菜单“” 这门课是用指挥,我手延伸的 Q1:何时应使用“导体”而不是“属性更改数据库” Q2:在中,为什么类“MainViewModel”在初始化时会出现此参数?我读了Caliburn.Micro的手册,但我不明白为什么C# Caliburn.Micro怎么写?,c#,caliburn.micro,C#,Caliburn.micro,我开始用UWP学习Caliburn.Micro。 首先,我在这里找到了一个很好的例子。 (谢谢你,伊恩) 此应用程序具有BumbugerMenu+Caliburn.Micro。 在这个项目中,, BumbergerMenu根是“Main”。 子菜单为“关于”、“设置”、“设备”。 我的问题是。。 如何正常编写“视图模型”。 首先是“ 该类用“导体”扩展 子菜单“” 该类是通过“PropertyChangedBase”扩展的 子菜单“” 这门课是用指挥,我手延伸的 Q1:何时应使用“导体”而不是
public MainViewModel(
DeviceShellViewModel deviceShellViewModel,
AboutViewModel aboutViewModel,
SettingsViewModel settingsViewModel)
{
_deviceShellViewModel = deviceShellViewModel;
_aboutViewModel = aboutViewModel;
_settingsViewModel = settingsViewModel;
ActivateItem(_deviceShellViewModel);
}
构造函数有不同的参数。。哇!我不明白
public DeviceViewModel(DeviceInfo deviceInfo)
{
_commandRunner = IoC.Get<CommandRunner>();
_eventAggregator = IoC.Get<IEventAggregator>();
_deviceInfo = deviceInfo;
}
公共设备视图模型(DeviceInfo DeviceInfo)
{
_commandRunner=IoC.Get();
_eventAggregator=IoC.Get();
_设备信息=设备信息;
}
关于您的第一个问题:
PropertyChangedBase–实现INotifyPropertyChangedEx(从而
INotifyPropertyChanged)。它提供了基于lambda的
除了标准字符串之外,NotifyOfPropertyChange方法
机制,启用强类型更改通知。还有,所有
属性更改事件会自动封送到UI线程。2
在Caliburn.Micro中,此角色由IConductor
包含以下成员的接口:ActivateItem–调用此
方法来激活特定项。它还将把它添加到
如果导体使用“屏蔽”,则当前进行的项目
collection.“DeactivateItem–调用此方法以停用
特定项目。第二个参数指示项目是否
也应该关闭。如果是这样,它也会将其从
如果导体使用“屏蔽”,则当前进行的项目
collection.“ActivationProcessed–当导体
已处理项目的激活。它指示
激活成功。3 GetChildren–调用此方法以返回
列车长正在跟踪的所有项目的列表。如果列车长
如果使用“屏幕集合”,则返回所有“屏幕”
否则只返回ActiveItem。(从iPart界面)
INotifyPropertyChangedEx–此接口由IConductor组成
所以基本上最重要的部分是导体允许您在特定时间加载特定视图(导航/视图注入)。引文来源:
关于你的第二个问题:
MainViewModel的构造函数需要VM的实例
来自国际奥委会,以便指挥可以执行导航
通过ActivateItem(如第1季度我的回答中所述)。关于“DeviceModel构造函数有不同的参数”的部分…这是很自然的;每个虚拟机都有特定的职责,为了能够实现这些职责,它需要特定的对象
希望这有帮助。如果你还有其他问题,我会尽力解决 关于你的第一个问题: PropertyChangedBase–实现INotifyPropertyChangedEx(从而 INotifyPropertyChanged)。它提供了基于lambda的 除了标准字符串之外,NotifyOfPropertyChange方法 机制,启用强类型更改通知。还有,所有 属性更改事件会自动封送到UI线程。2 在Caliburn.Micro中,此角色由IConductor 包含以下成员的接口:ActivateItem–调用此 方法来激活特定项。它还将把它添加到 如果导体使用“屏蔽”,则当前进行的项目 collection.“DeactivateItem–调用此方法以停用 特定项目。第二个参数指示项目是否 也应该关闭。如果是这样,它也会将其从 如果导体使用“屏蔽”,则当前进行的项目 collection.“ActivationProcessed–当导体 已处理项目的激活。它指示 激活成功。3 GetChildren–调用此方法以返回 列车长正在跟踪的所有项目的列表。如果列车长 如果使用“屏幕集合”,则返回所有“屏幕” 否则只返回ActiveItem。(从iPart界面) INotifyPropertyChangedEx–此接口由IConductor组成 所以基本上最重要的部分是导体允许您在特定时间加载特定视图(导航/视图注入)。引文来源: 关于你的第二个问题: MainViewModel的构造函数需要VM的实例 来自国际奥委会,以便指挥可以执行导航 通过ActivateItem(如第1季度我的回答中所述)。关于“DeviceModel构造函数有不同的参数”的部分…这是很自然的;每个虚拟机都有特定的职责,为了能够实现这些职责,它需要特定的对象
希望这有帮助。如果你还有其他问题,我会尽力解决 谢谢你,保罗。有了你的回答,我将开始了解更多。。。现在,我明白了60%。我将继续学习。。有一天。。100%:)谢谢你,保罗。有了你的回答,我将开始了解更多。。。现在,我明白了60%。我将继续学习。。有一天。。100%:)