问题标签 [caliburn.micro]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows-phone-7 - 通过查询字符串将枚举值传递给 CaliburnMicro 视图模型
我是 Caliburn Micro 的新手,我正在尝试它的 WP7 实现。我想将枚举的值从一个 VM 传递到另一个 VM,但我必须遗漏一些明显的东西:我试图传递它的名称和数值,但目标 VM 总是获得默认值(对应于 0)。
我的场景更详细:假设我有一个虚拟机,其属性公开枚举值。假设枚举是 ProductFamily { Hardware, Software }; 我有一个按钮,可以打开另一个带有底层 VM 的屏幕,该屏幕应根据所选系列显示产品列表。因此,VM 在其构造函数中接收到的 INavigationService 实例上调用 Navigate,例如:
(此代码传递了名称,但我也尝试使用 (int)_nFamily)。现在,我在目标 VM 中有一个相应的 Family 属性,例如
如果我在属性设置器中放置一个断点,我可以看到它被 CM 调用,但接收到的值对应于默认值(0,例如上面示例中的硬件),而我期待另一个。我可以确认在构建导航查询字符串时传递了正确的值。那么,目标虚拟机如何获得不正确的值呢?
谢谢大家
wpf - WPF 按钮样式取决于活动视图
我正在使用 Caliburn Micro 开发一个简单的 MVVM WPF 应用程序。
我的 ShellView 有一个 ContentControl 和三个按钮,每个按钮都绑定到我的 ShellViewModel 中的一个公共方法,比如 ActivateView1、ActivateView2 和 ActivateView3。
我的 ShellViewModel 继承自 Conductor 和每个 Activate 方法调用ActivateItem(new View1ViewModel())
等。
到目前为止,一切都很好。当我单击一个按钮时,ContentControl 中会激活一个新视图。问题是我需要每个按钮在其“关联视图”处于活动状态时更改样式,而我真的不知道如何实现此功能。你有什么建议吗?
我对 Caliburn Micro 和 WPF 样式相当陌生,因此将不胜感激任何帮助。
wpf - Caliburn.Micro 问题:XamlParseException “无法设置未知成员 '{clr-namespace:Caliburn.Micro;assembly=Caliburn.Micro}View.Model'”
我得到一个非常奇怪的 XamlParseException,我不知道为什么。
消息是“无法设置未知成员 '{clr-namespace:Caliburn.Micro;assembly=Caliburn.Micro}View.Model'。”
在视图模型中,我有一个 ObservableCollection,我在构造函数中初始化它,如下所示:
这是视图:
当我在 EntityListScreenViewModel 实例上调用 WindowManager.ShowWindow() 时,我得到了异常。
如果我没有将实体添加到列表中(var list = new List<Entity>();
改为使用),则不会出现异常。
有人有什么想法吗?
更新:
我尝试将 ObservableCollection 更改为字符串类型并添加了一个字符串,但我没有收到异常。我的怀疑是 Caliburn.Micro 正在以某种方式寻找一个视图来表示 ListBox 中的实体。这可能是怎么回事?
更新 2:
我终于弄清楚到底发生了什么...... ConventionManager 中的 DefaultItemTemplate 有一些解析的 Xaml 正在寻找“Caliburn.Micro”程序集,但我已将代码与另一个程序集一起放入。更改了 Xaml,问题就消失了。
c# - 在“内部”用户控件上使用 Caliburn.Micro 绑定功能
我对 Caliburn.Micro 很陌生,所以我想这有一个简单的答案(或者至少我希望它有:))
我有一个 ViewModel 有一个名为的属性ConnectedSystem
,它有一个名为Name
.
在我看来,我有以下 XAML(摘录):
这工作得很好,名称TextBlock
如预期的那样显示。但是,ConnectedSystem 有大约 10 个应该显示的属性,我不想在我的视图中将 XAML 复制粘贴 10 次以上。相反,我想将该 XAML 提取为 UserControl,我可以在其中将 LabelText 和 Text 设置为属性。
我试过这个,但我不确定如何让 Caliburn.Micro 自动将 ConnectedSystem_Name 传递到我的 UserControl 中。
这也可能是比在这里使用 UserControl 更好的方法,所以问题基本上是:将这个共享的 XAML 作为它自己的控件的最佳方法是什么,并且仍然能够使用 Caliburn.Micros 绑定。
windows-phone-7 - Caliburn.Micro 中的 ListPicker Message.Attach 错误
我在 WP7 上有以下 XAML 代码:
我收到错误消息:目标必须是 FrameworkElement 或 CollectionViewSource
我要做的就是将 ListPicker 中的 SelectedItem 传递给我的 VM。我究竟做错了什么 ?
.net - 将 ComboBox Box 项绑定到另一个 Combobox 的 SelectedItem
我有两个组合框。第一个,Companys 有一个 Company 对象的集合。每个对象都有一个字符串名称和字符串集合:
这是课程:
这是代码。当我选择一个项目时,TextBox 更新得很好。但是应该显示区域的 ComboBox 不会:
我可以让第二个 ComboBox 工作的唯一方法是在我的 ViewModel 上创建一个与 SelectedCompany.Regions 关联的新属性但是为什么我没有工作?
wpf - 我需要知道演示模型中的窗口句柄
我知道将 WPF 特定连接到表示模型是一种反模式。但在这种情况下,我无法避免它(我使用 SLIM DX 进行操纵杆输入,它需要手柄)。
那么有没有办法从演示模型中获取连接到模型的窗口句柄?
谢谢
c# - 如何使用 CaliburnMicro 在 Shell 的不同 ContentControls 中加载控件
默认情况下,当您使用“ActivateItem(new Control());” 例如,您的控件被加载到名为 ActiveItem 的 ContentControl 中。. 如果我的页面上有多个内容控件,我将如何将控件加载到它们中,同时保留使用能够将控件加载到活动项目控件中的默认功能的能力。
例如,我希望将登录控件加载到 Login ContentControl 中,并且当用户成功登录时,我希望将新控件加载到 ActiveItem ContentControl 中。
提前谢谢。
c# - Caliburn.Micro - 如何从导体以外的类中激活项目
我已经编写了我的 Caliburn.Micro 应用程序的 UI,这样工具栏按钮就有了自己的 View 和 ViewModel。
在我看到的示例中,要激活新屏幕,shell 调用中的一个方法Conductor.ActivateItem
,传入 viewmodel 实例,但在我的情况下,该ToolbarButtonViewModel.Submit()
方法位于不是shell 的类上。
从shell 以外的类激活屏幕的最佳方法是什么?
silverlight - 使用 Caliburn micro 关闭浏览器
刚开始研究令人惊叹的 Caliburn.Micro 框架,想知道是否在 silverlight 应用程序中,用户尝试关闭浏览器同时部分填充了屏幕,有没有办法通知用户屏幕已更改数据?为了文字不要关闭已修改的屏幕。
有人告诉我,Web 应用程序无法捕获浏览器关闭。
谢谢京东