首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

对于父视图,Caliburn.Micro应该使用Screen还是Conductor.AllActive

对于父视图,Caliburn.Micro应该使用Conductor.AllActive。

Caliburn.Micro是一个轻量级的MVVM框架,用于构建WPF、Silverlight和Universal Windows Platform (UWP)应用程序。它提供了一种简单而强大的方式来管理视图和视图模型之间的关系。

在Caliburn.Micro中,有两个主要的父视图管理器:Screen和Conductor。Screen是一个简单的父视图管理器,它允许你在一个视图模型中管理一个子视图。而Conductor是一个更强大的父视图管理器,它允许你管理多个子视图,并提供了更多的灵活性和控制。

对于父视图,如果你希望同时激活和管理多个子视图,那么应该使用Conductor.AllActive。Conductor.AllActive是一个Conductor的子类,它会自动激活和管理所有的子视图。这对于需要同时显示多个子视图的场景非常有用,比如一个选项卡式的界面或者一个多窗口的应用程序。

使用Conductor.AllActive时,你可以通过调用ActivateItem方法来激活一个子视图,并通过DeactivateItem方法来关闭一个子视图。Conductor.AllActive还提供了一些其他的方法和事件,用于管理子视图的生命周期和交互。

在腾讯云的产品中,与Caliburn.Micro相对应的产品是腾讯云的Serverless Framework。Serverless Framework是一个开发框架,用于构建和部署无服务器应用程序。它提供了一种简单而强大的方式来管理云计算资源和函数服务,并支持多种编程语言和云平台。

腾讯云的Serverless Framework可以帮助开发者更轻松地构建和管理无服务器应用程序,提高开发效率和资源利用率。你可以通过以下链接了解更多关于腾讯云Serverless Framework的信息:腾讯云Serverless Framework

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C# WPF MVVM开发框架Caliburn.Micro入门介绍①

对于现有的Caliburn用户来说都是相当标准的,但是我们在Caliburn.Micro上做了一些改进,这将进入更大的框架。...View 定位器 对于应用程序中的每个ViewModel,Caliburn.Micro都有一个基本策略来定位应该渲染它的视图。我们是根据命名约定来做这件事的。...如果需要,可以重写一些方法来插入自己的IoC容器,声明应该检查哪些程序集的视图,等等。这非常简单。 Logging Caliburn.Micro实现了一个基本的日志抽象。...如果您更喜欢使用监控控制器和被动查看而不是MVVM,请继续。你会发现Caliburn.Micro可以帮助你很多,特别是它的Screen/ScreenConductor实现。...您可以开始使用Caliburn.Micro进行开发,然后,如果您遇到边缘情况或有其他需要转移到Caliburn,您将能够在应用程序中进行少量更改或不进行任何更改。

1.8K20

【愚公系列】2023年02月 .NET CORE工具案例-Caliburn.Micro使用基于WPF的改造的MVVM案例

文章目录 前言 1.Caliburn.Micro是什么 2.Caliburn.Micro的主要功能 一、Caliburn.Micro使用基于WPF的改造 1.项目介绍 2.安装软件包 3.改造App...5.3 Login 5.3.1 视图模型 5.3.2 视图 ---- 前言 1.Caliburn.Micro是什么 Caliburn.Micro是一个微软开发的用于构建WPF,Silverlight...2.Caliburn.Micro的主要功能 Caliburn.Micro是一个小型MVVM框架,主要提供了以下功能: 简化MVVM模式的实施 视图绑定 统一方式的消息机制 基于事件和命令的行为触发 支持视图导航...Caliburn.Micro 官网:https://caliburnmicro.com/ 一、Caliburn.Micro使用基于WPF的改造 1.项目介绍 HelloWorld:框架的搭建...继承类说明: Screen 和 INotifyPropertyChanged (用于感知并同步所绑定属性的变化) IHandle:IHandle 5.1 index 5.1.1 视图模型 public

1.1K20
  • C# WPF MVVM开发框架Caliburn.Micro Screens, Conductors 和 Composition⑦

    在简单的场景中,ScreenActivator通常与Screen是同一个类。但是,您应该记住,这是两个独立的角色。...这允许缓存复杂视图,甚至复杂视图解析逻辑。最后,当视图附加到名为ViewAttached的实例时,应该引发一个事件。...这意味着您可能会从PropertyChangedBase或Screen继承大多数视图模型。一般来说,如果您需要任何激活功能和PropertyChangedBase来完成其他一切,您将使用Screen。...之前,我们在Caliburn.Micro中讨论了屏幕和导体的理论和基本API。现在,我将介绍几个示例中的第一个。此特定示例演示如何使用导体和两个“页面”视图模型设置一个简单的导航样式shell。...消息框将在激活发生时显示,但第二页的视图仍不可见。请记住,如果您有任何依赖于已加载视图的激活逻辑,则应覆盖Screen.OnViewLoaded,而不是与OnActivate结合使用

    2.6K20

    C# WPF MVVM开发框架Caliburn.Micro IResult和协同程序⑥

    对于使用协同程序是至关重要的。该方法的主体有四个收益率语句。每个收益都返回一个IResult实例。...只需在“Execute”方法中编写代码,并确保在完成时引发“Completed”事件,无论是同步任务还是异步任务。...这在保持视图视图模型之间的分离的同时打开了许多可能性。...这允许您在视图模型中正常创建它们,同时仍然允许它们依赖于应用程序服务。在这种情况下,我们依赖于IShell。您还可以注入容器,但在本例中,我选择在内部使用IoC静态类。...一般来说,你应该避免直接从容器中取出东西。但是,我认为在基础架构代码(如ShowScreen IResult)内部执行时,这是可以接受的。

    48720

    C# WPF MVVM项目实战(进阶②)

    这篇文章还是在之前用Caliburn.Micro搭建好的框架上继续做的开发,今天主要是增加了一个用户窗体ImageProcessView,然后通过Treeview切换选择项之后在界面显示不同效果的图片...涉及以下知识点: ①实现 INotifyPropertyChanged:在mvvm开发模式中,为了前台和后台更好的解耦合,前台界面一般通过绑定属性的方式获取属性值,而后台属性值变更后我们需要通知给前台视图...由于StartViewModel继承了Caliburn.Micro.Screen,Caliburn.Micro.Screen实现了INotifyPropertyChanged,所以StartViewModel...继承Caliburn.Micro.Screen,即: public class ImageProcessViewModel : Caliburn.Micro.Screen -....然而使用Collapsed的话,在不可视的基础上,它还能将属性在画面上的占位符清除,属性将彻底不影响画面 namespace System.Windows { public enum Visibility

    1.3K20

    从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器

    从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器 这段时间一直在使用Caliburn.Micro这种应用了MVVM模式的WPF框架做开发,是时候总结一下了。...Caliburn.Micro是一个轻量级的WPF框架,简化了WPF中的不少用法,推荐做WPF开发时优先使用。...比如本文将介绍如何使用Caliburn.Micro v3.2开发出一个简单的计算器,里面用到了C#中的async异步技术,Caliburn.Micro中的Conductor等等~ Step 1: 在VS...Step 2: 使用NuGet包管理工具为当前项目安装Caliburn.Micro 对于Caliburn.Micro 1.x和2.x版,只能使用.dll,需手动给项目加Reference。...而3.0以后的版本可使用NuGet包管理工具来管理,安装和卸载既方便又彻底,推荐使用

    1.3K30

    C# WPF MVVM开发框架Caliburn.Micro快速搭建③

    ②打开ShellViewModel.cs并使用以下代码进行实现: using System.Windows; namespace Caliburn.Micro.Hello.ViewModels {...DisplayRootViewFor()指定根视图模型的类型。...“根视图模型”是Caliburn.Micro将实例化并用于显示应用程序的视图模型。 接下来,我们需要实现“HelloBootstrapper”,以便它在启动时运行。...您应该看到如下内容: Caliburn.Micro创建了ShellViewModel,但不知道如何在没有视图的情况下渲染它。那么,让我们创建一个视图,让它查找。...您现在应该可以看到UI: 在文本框中键入内容将启用该按钮,单击该按钮将显示一条消息: 03 工作原理 Caliburn.Micro使用一个简单的命名约定来定位ViewModels的视图

    1.5K20

    C# WPF MVVM开发框架Caliburn.Micro常用功能指南②

    这是Caliburn.Micro项目中最常用的约定和功能的快速指南。 01 事件连接 这会自动将控件上的事件关联到ViewModel上的方法。...可以像这样使用不同的事件: 可以向方法传递不同的参数,如下所示: <Button...注意:对于保护方法,这将是null,因为触发器实际上没有发生。 $dataContext 传递ActionMessage附加到的元素的DataContext。...这在主/详细场景中非常有用,在主/详细场景中,ActionMessage可能会冒泡到VM,但需要携带要执行操作的子实例。 $source 触发要发送的ActionMessage的实际框架元素。...$view 绑定到ViewModel的视图(通常是用户控件或窗口)。 $executionContext 操作的执行上下文,其中包含上述所有信息及更多信息。这在高级场景中很有用。

    79920

    C# WPF MVVM开发框架Caliburn.Micro自定义引导程序④

    让我们首先将应用程序配置为使用IoC容器。本例中我们将使用内置容器,但是Caliburn.Micro可以很好地处理任何容器。首先,继续学习第1部分的代码。我们将以此为出发点。...这是Caliburn.Micro查找视图的地方。您可以在应用程序期间的任何时候将程序集添加到此中,以使它们可用于框架,但在引导程序中也有一个特殊的位置来执行此操作。...因此,如果您的所有视图都与应用程序位于同一个程序集中,您甚至不必担心这一点。如果有多个包含视图的引用部件,则需要记住这是一个扩展点。...02 给智者的话 虽然Caliburn.Micro确实通过引导程序的覆盖和IoC类提供ServiceLocator功能,但您应该避免在应用程序代码中直接使用它。...Caliburn.Micro 可以从非Xaml主机使用Caliburn.Micro

    94810

    C# WPF MVVM开发框架Caliburn.Micro View View Model 命名⑨

    您现在应该已经知道,框架很大程度上依赖于命名约定,在类型解析中,需要考虑两种不同的命名约定:命名类型本身的约定和命名类型命名空间的约定。...因此,从“视图”后缀视图名称派生的视图模型的命名约定通过将视图模型命名为“MainViewModel”来避免冗余。 框架支持的标准命名约定的一个限制是,没有考虑到英语中的不同语言甚至不同术语。...因此,一个健壮的框架至少允许通过定制来支持额外的“视图名称后缀”(例如“Pagina”、“Seite”、“Form”、“Screen”)。...因此,最基本的用例中,视图视图模型组件层都位于同一个用例中。这项公约可描述如下: 虽然许多应用程序的所有视图视图模型都可能位于单个部件中,但通常的做法是在项目中的单独文件夹中组织视图视图模型。...02 最后 原文标题:Caliburn.Micro Xaml made easy 原文链接:https://caliburnmicro.com/documentation/naming-conventions

    93920

    C# WPF MVVM开发框架Caliburn.Micro 关于Conventions⑧

    为此,CM使用一个简单的命名模式来查找UserControl1,它应该绑定到ViewModel并显示它。那么,这种模式是什么?...这意味着,对于由ViewLocator创建的视图,根本不需要代码落后。如果这让您感到高兴,您可以删除它们:)您还应该知道ViewLocator.LocateForModelType从不直接调用。...ViewModel Resolution (View-First) 视图模型分辨率(视图优先) 基础 尽管Caliburn.Micro更喜欢ViewModel-First开发,但有时您可能希望采用视图优先的方法...ViewModelBinder 基础 当我们将视图和ViewModel绑定在一起时,无论是使用ViewModel优先还是视图优先方法,都会调用ViewModelBinder.bind方法。...因此,如果默认情况下启用了约定,但需要逐个视图将其禁用,则只需将此属性设置为false。 框架使用 ViewModelBinder用于Caliburn.Micro内部的三个位置。

    2.8K20

    C# WPF MVVM开发框架Caliburn.Micro关于关于Actions⑤

    当然,ActionMessage是这个标记中特定于Caliburn.Micro的部分。它表示当触发发生时,我们应该发送一条“SayHello”的消息。...由于我们使用了模型优先的方法,当Caliburn.Micro(以下简称CM)创建视图使用ViewModelBinder将其绑定到ViewModel时,它为我们设置了此方法。...让我们看看如何使用视图优先技术(gasp!)将此应用于实现MVVM。...对于button,该属性恰好是“DataContext”,而TextBox默认为Text,SelectedItem的选择器等。在视图使用对另一个命名控件的引用而不是$this时,也会发生同样的情况。...请注意,Message.Attach声明都没有指定应该发送消息的事件。如果不使用该事件,解析器将使用ConventionManager来确定用于触发器的默认事件。对于按钮,它是单击。

    2.1K20

    C# WPF MVVM开发框架Caliburn.Micro 名称Transformer⑩①

    使用名称Transformer NameTransformer是在Caliburn.Micro v1.1中引入的,它是ViewLocator和ViewModelLocator如何将类名映射到其伙伴角色的一个组成部分...虽然您可以覆盖这些服务上的各种函数来替换底层行为,但您的大多数需求都应该通过使用适当的NameTransformer配置规则来满足,NameTransformer描述了您独特的映射策略。...此规则使用正则表达式捕获组,这在复杂转换中非常有用。“replacePattern”将视图的全名分配给名为“fullname”的捕获组,“replaceValue”将其转换为“Model”。...它涵盖了当名称空间不以“视图”结尾时的失败情况。 当添加自定义的特定于应用程序的转换规则时,下面的替换模式应该非常有用。...此捕获组的主要目的不是将其用作转换的一部分,因为ViewLocator的目的是解析视图名称。

    1.8K20

    每个高级前端工程师都应该知道的前端布局

    使用弹性布局 使用百分比 避免写死宽度和高度 添加滚动条 使用 rem 3.移动终端的常用宽度和高度 垂直屏幕的常见宽高比:1:2, 2:3, 3:4, 3:5, 5:8, 9:16 横向屏幕的常见宽高比...如果为子元素的顶部和底部设置了百分比,它将相对于元素的高度,并直接进行非静态定位(默认定位)。同样,如果为子元素的左侧和右侧设置了百分比,它将与元素宽度的直接非静态定位(默认定位)相对应。...如果子元素的 padding 和 margin 设置为百分比,无论是垂直还是水平,它们都是相对于直接元素的宽度而言的,与元素的高度无关。...border-radius 是一个百分比,是相对于其宽度而言的 缺点计算困难。如果我们要根据设计草案定义元素的宽度和高度,必须将其转换为百分比单位。...4.4 VW、VH 响应式布局 因为 100vw = 100 视图窗口宽度,100vh = 100 视图窗口高度,那么根据 750 的设计草案,100vw 就是 750。

    22320

    两个宏快速计算九宫格X、Y坐标

    /** 设置格子的X坐标 * SUPERVIEW 指九宫格每个小格子的视图 * WIDTH 指九宫格每个小格子的宽度 int width = (VVS_SCREEN_WIDTH - (colunm...) SUPERVIEW.subviews.count / COLUMN * HEIGHT + (SUPERVIEW.subviews.count / COLUMN + 1) * MARGIN 前提:使用这两个宏的前提是我们必须要把格子单独的放到一个视图上...即,必须有一个视图单独的承载这写格子。因为每个小格子X坐标、Y坐标的计算严格依赖于小格子所在的视图的subViews的count。...另外,使用这个宏时,一旦格子被创建出来就必须加到superView中,不能等到所有的格子都创建好后再一起加到视图。 上面第一个宏是可以计算每个格子的X坐标。第二个宏可以计算每个格子的Y坐标。...如下是示例代码: - (void)setupSquare { // 小格子的公共视图 UIView *backView = [[UIView alloc] initWithFrame:

    5.6K30
    领券