草庐IT

c# - 在较长的运行过程中禁用 WPF 按钮,MVVM 方式

我有一个WPF/MVVM应用程序,它由一个带有几个按钮的窗口组成。每个按钮都会触发对外部设备的调用(USBmissilelauncher),这需要几秒钟。当设备运行时,GUI被卡住。(没关系,因为该应用的唯一目的是调用USB设备,并且在设备移动期间您不能做任何其他事情!)唯一有点难看的是卡住的GUI在设备移动时仍然接受额外的点击。当设备仍在移动时,我再次单击同一个按钮,设备会在第一次“运行”完成后立即再次开始移动。所以我想在单击一个按钮后立即禁用GUI中的所有按钮,并在按钮的命令完成运行后再次启用它们。我找到了一个看起来符合MVVM规范的解决方案。(至少对我来说...请注意,我仍然是W

c# - 在较长的运行过程中禁用 WPF 按钮,MVVM 方式

我有一个WPF/MVVM应用程序,它由一个带有几个按钮的窗口组成。每个按钮都会触发对外部设备的调用(USBmissilelauncher),这需要几秒钟。当设备运行时,GUI被卡住。(没关系,因为该应用的唯一目的是调用USB设备,并且在设备移动期间您不能做任何其他事情!)唯一有点难看的是卡住的GUI在设备移动时仍然接受额外的点击。当设备仍在移动时,我再次单击同一个按钮,设备会在第一次“运行”完成后立即再次开始移动。所以我想在单击一个按钮后立即禁用GUI中的所有按钮,并在按钮的命令完成运行后再次启用它们。我找到了一个看起来符合MVVM规范的解决方案。(至少对我来说...请注意,我仍然是W

c# - 密码框和 MVVM

我们有以下场景:MVVM用户界面,用户可以在其中放置他的密码(实际上是PasswordBox)应该做一些工作的服务器服务器连接到一些需要身份验证的数据库我已经读过这个QuestiononPasswordBoxinMVVM但是怎么办都没有答案!只是“永远不要那样做”。传递密码的正确方法是什么?如何解决安全问题?Binding没有正确的方法到PasswordBox和密码不应存储在某处,好的。那么,做这些事情的MVVM方法是什么?即使模式被打破,有没有好的方法可以实现这样的事情?想到一个Func检索它,但不绑定(bind)它会弄得一团糟……更新从(希望加密的)密码存储区初始化Password

c# - 密码框和 MVVM

我们有以下场景:MVVM用户界面,用户可以在其中放置他的密码(实际上是PasswordBox)应该做一些工作的服务器服务器连接到一些需要身份验证的数据库我已经读过这个QuestiononPasswordBoxinMVVM但是怎么办都没有答案!只是“永远不要那样做”。传递密码的正确方法是什么?如何解决安全问题?Binding没有正确的方法到PasswordBox和密码不应存储在某处,好的。那么,做这些事情的MVVM方法是什么?即使模式被打破,有没有好的方法可以实现这样的事情?想到一个Func检索它,但不绑定(bind)它会弄得一团糟……更新从(希望加密的)密码存储区初始化Password

c# - View 模型的 MVVM 继承

我想知道如何在MVVM模式中处理View模型的继承。在我的应用程序中,我有一个类似于以下内容的数据模型:classCustomObject{publicstringTitle{get;set;}}classCustomItem:CustomObject{publicstringDescription{get;set;}}classCustomProduct:CustomItem{publicdoublePrice{get;set;}}在我的应用程序中,我有一个ViewModelBase类,然后将有以下View模型:CustomObjectViewModelCustomItemViewM

c# - View 模型的 MVVM 继承

我想知道如何在MVVM模式中处理View模型的继承。在我的应用程序中,我有一个类似于以下内容的数据模型:classCustomObject{publicstringTitle{get;set;}}classCustomItem:CustomObject{publicstringDescription{get;set;}}classCustomProduct:CustomItem{publicdoublePrice{get;set;}}在我的应用程序中,我有一个ViewModelBase类,然后将有以下View模型:CustomObjectViewModelCustomItemViewM

c# - 使 AvalonEdit MVVM 兼容

我正在努力使AvalonMVVM在我的WPF应用程序中兼容。通过谷歌搜索,我发现AvalonEditisnotMVVMfriendly我需要通过创建一个从TextEditor派生的类然后添加必要的依赖属性来导出AvalonEdit的状态。恐怕我对HerrGrunwald的回答很迷茫here:IfyoureallyneedtoexportthestateoftheeditorusingMVVM,thenIsuggestyoucreateaclassderivingfromTextEditorwhichaddsthenecessarydependencypropertiesandsynch

c# - 使 AvalonEdit MVVM 兼容

我正在努力使AvalonMVVM在我的WPF应用程序中兼容。通过谷歌搜索,我发现AvalonEditisnotMVVMfriendly我需要通过创建一个从TextEditor派生的类然后添加必要的依赖属性来导出AvalonEdit的状态。恐怕我对HerrGrunwald的回答很迷茫here:IfyoureallyneedtoexportthestateoftheeditorusingMVVM,thenIsuggestyoucreateaclassderivingfromTextEditorwhichaddsthenecessarydependencypropertiesandsynch

c# - 简化 WPF MVVM ViewModel 中的 RelayCommand/DelegateCommand

如果您正在执行MVVM并使用命令,您会经常在ViewModel上看到由私有(private)RelayCommand或DelegateCommand字段支持的ICommand属性,例如MSDN上原始MVVM文章中的这个示例:RelayCommand_saveCommand;publicICommandSaveCommand{get{if(_saveCommand==null){_saveCommand=newRelayCommand(param=>this.Save(),param=>this.CanSave);}return_saveCommand;}}但是,这会造成很多困惑,并使设

c# - 简化 WPF MVVM ViewModel 中的 RelayCommand/DelegateCommand

如果您正在执行MVVM并使用命令,您会经常在ViewModel上看到由私有(private)RelayCommand或DelegateCommand字段支持的ICommand属性,例如MSDN上原始MVVM文章中的这个示例:RelayCommand_saveCommand;publicICommandSaveCommand{get{if(_saveCommand==null){_saveCommand=newRelayCommand(param=>this.Save(),param=>this.CanSave);}return_saveCommand;}}但是,这会造成很多困惑,并使设