Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Caliburn.Micro怎么写?_C#_Caliburn.micro - Fatal编程技术网

C# Caliburn.Micro怎么写?

C# Caliburn.Micro怎么写?,c#,caliburn.micro,C#,Caliburn.micro,我开始用UWP学习Caliburn.Micro。 首先,我在这里找到了一个很好的例子。 (谢谢你,伊恩) 此应用程序具有BumbugerMenu+Caliburn.Micro。 在这个项目中,, BumbergerMenu根是“Main”。 子菜单为“关于”、“设置”、“设备”。 我的问题是。。 如何正常编写“视图模型”。 首先是“ 该类用“导体”扩展 子菜单“” 该类是通过“PropertyChangedBase”扩展的 子菜单“” 这门课是用指挥,我手延伸的 Q1:何时应使用“导体”而不是

我开始用UWP学习Caliburn.Micro。 首先,我在这里找到了一个很好的例子。 (谢谢你,伊恩)

此应用程序具有BumbugerMenu+Caliburn.Micro。 在这个项目中,, BumbergerMenu根是“Main”。 子菜单为“关于”、“设置”、“设备”。 我的问题是。。 如何正常编写“视图模型”。

首先是“ 该类用“导体”扩展

子菜单“” 该类是通过“PropertyChangedBase”扩展的

子菜单“” 这门课是用指挥,我手延伸的

Q1:何时应使用“导体”而不是“属性更改数据库”

Q2:在中,为什么类“MainViewModel”在初始化时会出现此参数?我读了Caliburn.Micro的手册,但我不明白为什么

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%:)