草庐IT

c# - 使用 MVVM 绑定(bind)到 AvalonEdit 文档文本的两种方式

我想将AvalonEditTextEditor控件包含到我的MVVM应用程序中。我需要的第一件事是能够绑定(bind)到TextEditor.Text属性,以便我可以显示文本。为此,我遵循了MakingAvalonEditMVVMcompatible中给出的示例。.现在,我已经使用接受的答案作为模板实现了以下类publicsealedclassMvvmTextEditor:TextEditor,INotifyPropertyChanged{publicstaticreadonlyDependencyPropertyTextProperty=DependencyProperty.Regi

c# - WPF MVVM 模态叠加对话框仅在 View (而非窗口)上

我对MVVM架构设计非常陌生...我最近一直在努力寻找已经为此类目的编写的合适控件,但运气不佳,因此我重用了另一个类似控件中的部分XAML,并制作了自己的控件。我想实现的是:有一个可重复使用的View(用户控件)+View模型(绑定(bind)到),以便能够在其他View中用作模态覆盖,显示一个对话框,该对话框禁用View的其余部分,并在其上方显示一个对话框。我想如何实现它:创建一个接受字符串(消息)和操作+字符串集合(按钮)的View模型viewmodel创建调用这些操作的ICommand集合对话框View绑定(bind)到其View模型,该View模型将作为另一个View模型(父)

c# - WPF MVVM 模态叠加对话框仅在 View (而非窗口)上

我对MVVM架构设计非常陌生...我最近一直在努力寻找已经为此类目的编写的合适控件,但运气不佳,因此我重用了另一个类似控件中的部分XAML,并制作了自己的控件。我想实现的是:有一个可重复使用的View(用户控件)+View模型(绑定(bind)到),以便能够在其他View中用作模态覆盖,显示一个对话框,该对话框禁用View的其余部分,并在其上方显示一个对话框。我想如何实现它:创建一个接受字符串(消息)和操作+字符串集合(按钮)的View模型viewmodel创建调用这些操作的ICommand集合对话框View绑定(bind)到其View模型,该View模型将作为另一个View模型(父)

c# - 每个字典条目都必须有一个关联的键属性

我正在使用C#和GalaSoft的MVVM-Light工具包对Windows8.1应用程序进行编程。我只有下面的代码:出现错误“每个词典条目必须有一个关联的键属性”,并且只有在我删除时才会消失或谁能告诉我这里的问题是什么? 最佳答案 请注意Application.Resources需要ResourceDictionary的实例,因此您必须执行如下操作:所以一点都不奇怪,也不是bug。如果您希望您的ResourceDictionary被视为资源,您当然必须为其提供一些Key,但是在这种情况下,您确实想要分配的实例code>Resour

c# - 每个字典条目都必须有一个关联的键属性

我正在使用C#和GalaSoft的MVVM-Light工具包对Windows8.1应用程序进行编程。我只有下面的代码:出现错误“每个词典条目必须有一个关联的键属性”,并且只有在我删除时才会消失或谁能告诉我这里的问题是什么? 最佳答案 请注意Application.Resources需要ResourceDictionary的实例,因此您必须执行如下操作:所以一点都不奇怪,也不是bug。如果您希望您的ResourceDictionary被视为资源,您当然必须为其提供一些Key,但是在这种情况下,您确实想要分配的实例code>Resour

c# - MVVM 和 IOC : Handling View Model's Class Invariants

自从我开始使用MVVM以来,这是一个我一直在努力解决的问题,首先是在WPF中,现在是在Silverlight中。我使用IOC容器来管理View和View模型的分辨率。View往往是非常基本的,具有默认的构造函数,但ViewModel倾向于访问真实的服务,所有这些都是它们构建所必需的。同样,我使用IOC容器进行解析,因此注入(inject)服务不是问题。真正成为问题的是使用IOC将所需数据传递给ViewModel。举一个简单的例子,考虑一个允许编辑客户的屏幕。除了它可能需要的任何服务之外,此屏幕的ViewModel还需要一个客户对象来显示/编辑客户数据。在进行任何类型的(非MVVM)库开

c# - MVVM 和 IOC : Handling View Model's Class Invariants

自从我开始使用MVVM以来,这是一个我一直在努力解决的问题,首先是在WPF中,现在是在Silverlight中。我使用IOC容器来管理View和View模型的分辨率。View往往是非常基本的,具有默认的构造函数,但ViewModel倾向于访问真实的服务,所有这些都是它们构建所必需的。同样,我使用IOC容器进行解析,因此注入(inject)服务不是问题。真正成为问题的是使用IOC将所需数据传递给ViewModel。举一个简单的例子,考虑一个允许编辑客户的屏幕。除了它可能需要的任何服务之外,此屏幕的ViewModel还需要一个客户对象来显示/编辑客户数据。在进行任何类型的(非MVVM)库开

c# - MVVM:VM 对象应该直接公开 M 对象,还是仅通过委托(delegate)给 M 的 getter 的 getter 公开?

最好的解释方式是举例:这是模型publicclassPerson{publicintage;publicstringname;}这是View模型publicclassPersonVM{}我的问题是:vm应该将人暴露给数据模板还是用他自己的属性封装模型属性? 最佳答案 关于这个问题还没有达成共识。例如,这是WardBell提出的关于MVVM的开放性问题之一here:IstheVMallowedtooffertheVanunwrappedM-object(e.g.,therawEmployee)?OrmusttheM-object’sp

c# - MVVM:VM 对象应该直接公开 M 对象,还是仅通过委托(delegate)给 M 的 getter 的 getter 公开?

最好的解释方式是举例:这是模型publicclassPerson{publicintage;publicstringname;}这是View模型publicclassPersonVM{}我的问题是:vm应该将人暴露给数据模板还是用他自己的属性封装模型属性? 最佳答案 关于这个问题还没有达成共识。例如,这是WardBell提出的关于MVVM的开放性问题之一here:IstheVMallowedtooffertheVanunwrappedM-object(e.g.,therawEmployee)?OrmusttheM-object’sp

c# - 如何在 viewmodel 中访问 mvvm 模型中的控件?

我有一个WPF窗口,在那个窗口中我有一个网格。我使用M-V-VM模型,我想在代码中(在View模型中)动态地向网格添加一个文本框我怎样才能访问网格? 最佳答案 使用监督Controller模式。阅读:此处显示了CaliburnMicroMVVM框架的示例实现(对于所有其他框架同样适用-或者如果您自己执行MVVM,则可以手动完成):http://drc.ideablade.com/devforce-2012/bin/view/Documentation/cocktail-tutorial-talk-to-view示例:1)定义接口(i