问题标签 [caliburn]
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.
wpf - Caliburn Micro:Progressbar 不报告更改的操作值
进度条和 Caliburn Micro
大家好,
这是我第一个使用 Caliburn 的项目,所以我可能会遗漏一些东西。
我有以下 xaml 和 viewmodel。该视图包含一个填充到 100% 的进度条,它向 ProgressBar 方法报告更改。该方法按预期触发,但其 Value 参数始终为 0.0 我深入研究源代码,并且依赖属性已正确传递并包含 %(例如 22.45546),但由于某种原因,我不理解该参数不受限制并保持 0.0
非常感谢任何帮助,因为更好地了解 Caliburn 是我的第一要务。
XAML
C#
c# - MissingMethodException - Caliburn
我创建了一个使用 Caliburn 和 .NET 4 插件的程序。
在创建插件实例时,使用 caliburn 的功能注入容器、窗口管理器和视图模型工厂。
但是,当运行包含使用注入属性之一的代码时,我得到一个
缺少方法异常
. 这让我快疯了。
此外,如果插件实例具有需要满足的依赖项(如 IContainer 和 IWindowManager),这些依赖项在 Caliburn 中默认注册,则它无法创建它并显示在 IoC 容器中未找到此类组件的消息。
在调试模式下,我检查并注册了所有内容,所以我不知道该怎么做。
你认为可能是什么问题?
dependency-injection - Caliburn + Spring.NET - 配置引导程序
我想将 Spring.NET 用于 IoC、DI、AOP 和 Caliburn 作为 MVVVM 框架。
但我找不到任何示例如何为 Spring.NET 配置引导程序。
castle-windsor - Caliburn 查看模型上的 Castle Windsor 拦截器
我想用 Castle Windsor Interceptor 创建自己的方面并应用于 View Model 类。
正如我所说,我使用 Caliburn MVVM 框架,在 DI 上我使用 Caste Windsor。一切正常。
例如我创建了简单的日志拦截器,这里是:
这是简单的 View Model 类 - 它是“选项卡项”:
当我使用 Fluent API 配置 IoC 时,我想在 View Model 类上应用这个拦截器。
当我尝试从 IoC 选择视图模型时:
我收到了这条消息:
未找到 Castle.Proxies.ITabViewModelProxy 的默认视图。搜索的视图包括:Castle.Proxies.IITabViewModelProxy Castle.Proxies.ITabViewModelProxys.IDefault Castle.Proxies.ITabViewModelProxys.Default
我也尝试过这种方式用于拦截器应用程序。
好的,我知道 Caliburn 框架通过命名约定匹配视图和视图模型。
当我尝试选择 ITabViewModel 的实现时,我得到了 ITabViewModelProxy,而对于 ITabViewModelProxy,我没有注册任何视图。
代理的目标是 TabViewModel 但我认为问题在于命名不匹配。
我不想重命名 ViewModel,因为我想从 XML 文件配置代理。
那么什么是正确的方法呢?
谢谢你的帮助
wpf - 如何在 ItemsControl 中为 ContentControl 设置动画
我喜欢使用 ItemsControl 来托管 ContentsControls。添加项目时,每个新的 ContentsControl 都会为其内容设置动画,并且每个 ContentControl 都会覆盖前一个。ItemsControl 和 ContentControl Content 使用命名约定与 Caliburn Micro 绑定。
ContentControl 的定义如下:
所以现在终于我的问题了。在真正的 ContentControl 中,我喜欢为 Content 设置动画,但是在创建我的 Animation 的地方调用 OnContentChange 时,ContentControl 的大小为 0。ContentControl 托管在 ItemsControl 中时的调用顺序为:
- OnContentChanged(动画失败)
- OnApply 模板
- 测量覆盖
当 ContentControl 自行运行时,顺序为:
- OnApply 模板
- 测量覆盖
- OnContentChanged(动画作品)
这里的问题是 ItemsControl 中新项目的完整可视子树为 0 (DesiredSize,ActualSize = 0),因此我的动画代码失败。我希望这对某人有意义,任何帮助都会很棒,Thx,J
- - - - - - - - - - - - - - - 修订 - - - - - - - - - -
好的,我将 OnLoaded 事件处理程序添加到 DummyControl 的 ctor 中。调用顺序为 1. OnContentChanged(所有尺寸均为 0) 2. OnApplyTemplate(所有尺寸均为 0) 3. MeasureOverride(可能为 ContentControl 的所有子控件 hostet 调用多次) 4. Loaded 事件(Desired Size 设置为全部其他尺寸仍为0)
有人可以解释关于如何通过 ItemsControl 为 ContentControl hostet 设置动画的推荐做法吗?
c# - 如何动态生成控件并为其赋予特定的 caliburn 属性?
我们通过 Caliburn 框架将 ViewModel 与 View 连接起来。
现在我需要ListBox
通过代码隐藏动态生成一个。像这样的东西:
目前我ListBox
在 Xaml 中明确声明了这一点。因为我使用 Caliburn 来放置对话框,所以我们有一个
这里面ListBox
。如何生成这个?最重要的问题是:我能附上caliburn:View.Model
房产吗?就像我Width
对ListBox
? 这TransitioningContentControl
是嵌套DataTemplate
在ListBoxItem
. 甚至可以通过代码隐藏生成它吗?
wpf - 在 Caliburn 框架中组织视图和视图模型
我想知道在 Caliburn MVVM 框架中组织视图模型的最佳方式是什么。
我看到许多示例,其中视图模型是位于文件夹中的简单类,名称为 ViewModels,视图位于文件夹 Views 中。
例如,项目具有以下结构:
在许多情况下,我有一个非常复杂的视图模型。
在我看来,将视图和视图模型放在单个 WpfControlLibrary 中会很好。
但我不确定这是否是使用 MVVM 设计组织 WPF 应用程序的好方法。
我认为 Caliburn 框架也可以在视图模型不是名为 ViewModels 的文件夹中的类的情况下工作。
所以我的问题是在使用 Caliburn 框架的 WPF 应用程序中组织视图和视图模型的正确方法是什么。
c# - 带有确定操作的 Caliburn MVVM WPF 对话框
我正在使用 Caliburn 框架在 WPF 中重写一个项目。我来自 C++ 世界,所以即使是最简单的事情也有一些困难......
所以,假设我有:MainView、MainViewModel、DialogView、DialogViewModel。
在 MainView.xaml 中:...
... Caliburn 将其绑定到 MainViewModel 中的一个方法:
它工作正常,对话框弹出。
现在,在这个对话框中我有:
另外,还有其他文本框、复选框等。然后是确定和取消按钮:
现在,就像现在一样,它们绑定到 DialogViewModel 中的 OK() 和 Cancel() 方法,我无法弄清楚或找到有关如何在 DialogViewModel 中处理它们的信息。
我在创建 DialogResultsAction 类时找到了一个示例,我可以将我的 OK/Cancel 按钮与此类中的方法绑定,但无法理解如何进一步进行......
你能告诉我我应该往哪个方向走吗?
wpf - Caliburn Micro 中的 WPF 上下文菜单
我试图在 ListBox ItemTemplate 中获取上下文菜单以调用父视图模型上的方法,并将单击的项目作为参数传递。我为项目模板中的其他按钮工作,但对于上下文菜单,它似乎失败了。
我有以下 xaml(为清楚起见而缩写):
我感觉这与视觉树不同的事实有关,因此 Caliburn 无法可靠地解析该方法。我确定这是一个常见问题,我已经尝试了一些我在网上找到的东西,但似乎没有任何效果。
有任何想法吗??
c# - 使用 Toolbar ItemsSource 无法解析视图
当它被绑定为 ShellView 工具栏中的按钮列表时,Caliburn Micro 框架似乎没有检索我的 SinglePaintToolbarView。我希望按钮在添加到工具栏时仅显示其文本内容。但是,相反,我得到了这个:
工具栏中似乎没有任何可点击的按钮。我知道我的插件已成功加载,因为我能够将列表中的一个插件绑定为 ContentControl 并且视图出现了。当我尝试在工具栏中绑定插件列表时,它似乎不起作用。
这是我所拥有的:
ShellView.xaml
ShellViewModel.cs
SinglePaintToolbarView.xaml
SinglePaintToolViewModel.cs