草庐IT

c# - 如何使用 MVVM 模式在 WPF 中将一个 "disable"设为一个按钮?

我正在尝试掌握WPF和MVVM,并且取得了不错的进展。WPF和MVVM方面进展顺利。但是,XAML和数据绑定(bind)方面完全是另一回事:)我将如何“禁用”按钮?例如,我的View模型中有一个CanClose属性,用于确定应用程序当前是否可以关闭。如果工作线程停止执行某些操作,则此属性设置为false,我想将按钮变灰或以某种方式通过某种绑定(bind)在视觉上禁用“关闭”按钮。我该怎么做?谢谢!编辑-可惜我只能接受一个答案。这两个答案对我帮助很大。在Kent的帖子中,他更进一步地解释了为什么您应该在您的应用程序中实现一个命令基础结构,而不是像我所要求的那样禁用一个按钮:Howdoes

c# - 如何使用 MVVM 模式在 WPF 中将一个 "disable"设为一个按钮?

我正在尝试掌握WPF和MVVM,并且取得了不错的进展。WPF和MVVM方面进展顺利。但是,XAML和数据绑定(bind)方面完全是另一回事:)我将如何“禁用”按钮?例如,我的View模型中有一个CanClose属性,用于确定应用程序当前是否可以关闭。如果工作线程停止执行某些操作,则此属性设置为false,我想将按钮变灰或以某种方式通过某种绑定(bind)在视觉上禁用“关闭”按钮。我该怎么做?谢谢!编辑-可惜我只能接受一个答案。这两个答案对我帮助很大。在Kent的帖子中,他更进一步地解释了为什么您应该在您的应用程序中实现一个命令基础结构,而不是像我所要求的那样禁用一个按钮:Howdoes

c# - WPF:将 ContextMenu 绑定(bind)到 MVVM 命令

假设我有一个带有返回Command的属性的Window(实际上,它是一个ViewModel类中带有Command的UserControl,但让我们尽可能简单地重现问题)。以下作品:但是以下不起作用。我得到的错误信息是System.Windows.DataError:4:Cannotfindsourceforbindingwithreference'ElementName=myWindow'.BindingExpression:Path=MyCommand;DataItem=null;targetelementis'MenuItem'(Name='');targetpropertyis'

c# - WPF:将 ContextMenu 绑定(bind)到 MVVM 命令

假设我有一个带有返回Command的属性的Window(实际上,它是一个ViewModel类中带有Command的UserControl,但让我们尽可能简单地重现问题)。以下作品:但是以下不起作用。我得到的错误信息是System.Windows.DataError:4:Cannotfindsourceforbindingwithreference'ElementName=myWindow'.BindingExpression:Path=MyCommand;DataItem=null;targetelementis'MenuItem'(Name='');targetpropertyis'

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

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

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# - 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)库开