草庐IT

c# - 将参数传递给 MVVM 命令

有谁知道如何使用CommandHandler将参数传递给Command?假设我想从XAML传递字符串硬编码值。我知道如何从XAML传递,但不知道如何在后面的MVVM代码中处理它。如果不需要传递任何参数,下面的代码可以正常工作。publicICommandAttachmentChecked{get{return_attachmentChecked??(_attachmentChecked=newCommandHandler(()=>ExecuteAttachmentChecked(),CanExecuteAttachmentChecked()));}}privatevoidExecute

c# - 如何使用 MVVM 将焦点设置到文本框?

如何从ViewModelwpf聚焦文本框? 最佳答案 您可以通过向ViewModel添加一个属性(或使用现有属性)来完成此操作,该属性指示SetFocus何时应该发生,但View应该负责实际设置焦点,因为这完全与View相关。您可以使用DataTrigger执行此操作。查看:View模型://Whenyouthinktheviewshouldsetfocusonacontrolthis.UserShouldEditValueNow=true;上面的示例仅通过使用boolViewModel属性“UserShouldEditValueN

c# - WPF 最佳实践 : Do custom controls work well with the MVVM design?

我正在考虑创建一个可以在我的页面上重复使用的通用控件:一个具有Address1、Address2、City、State、Zip等的AddressControl...最初我只是创建了一个包含所有这些项目的类(AddressEntity)并实现了INotifyPropertyChanged。我将该类作为DependencyProperty包含在我的AddressControl的代码隐藏中,并将其用作绑定(bind)到其属性的DataContext。然后,有人说我的代码很丑,我应该看看MVVM。看着它,我假设:AddressEntity.cs将只是数据(即Address1、Address2等

c# - 在 MVVM 之后从 WPF 中的组框确定选中的单选按钮

我有一个带有一些单选按钮的组框。我怎么知道哪个被检查了?我正在使用WPF并遵循MVVM。....现在,我想出的一种方法是将每个RadioButton的IsChecked属性绑定(bind)到ViewModel中的某个属性,然后在我的ViewModel中执行if..else类逻辑来确定所选的单选按钮。但是还有其他优雅的方式吗? 最佳答案 您可以将Radiobutton的RadioButton.Command绑定(bind)到您的ViewModel的命令,并发送一个唯一的CommandParameter来识别哪个按钮调用了command

c# - WPF DataGrid (MVVM) 的 ScrollIntoView

我正在使用MVVM模式,并在XAML中为DataGrid的SelectedItem创建了一个绑定(bind)。我以编程方式设置SelectedItem,但是当我这样做时,DataGrid不会滚动到选择。有什么方法可以在不完全破坏MVVM模式的情况下实现这一点?我找到了以下解决方案,但是当我尝试实现Behavior类时出现错误,即使我已经安装了BlendSDK:http://www.codeproject.com/Tips/125583/ScrollIntoView-for-a-DataGrid-when-using-MVVM 最佳答案

c# - 动态生成列 mvvm

我尝试制作一个动态生成列的ListView。我使用mvvm模式。我该如何实现?在这个时刻,我只有静态列。 最佳答案 您可以使用转换器动态创建具有适当列的GridView。这是工作示例:主窗口.xaml主窗口.xaml.csusingSystem.Collections.Generic;usingSystem.Windows;namespaceWpfApplication1{//////InteractionlogicforMainWindow.xaml///publicpartialclassMainWindow:Window{pu

c# - 在 MVVM 中给出一些命令来查看

让我们假设我有一些用户控制。用户控件有一些子窗口。用户控制用户想要关闭某种类型的子窗口。后面的用户控制代码中有一个方法:publicvoidCloseChildWindows(ChildWindowTypetype){...}但我无法调用此方法,因为我无法直接访问View。我想到的另一个解决方案是以某种方式将用户控件ViewModel公开为其属性之一(这样我就可以绑定(bind)它并直接向ViewModel发出命令)。但是我不希望用户控制用户知道任何关于用户控制ViewModel的信息。那么解决这个问题的正确方法是什么? 最佳答案

c# - MVVM - 验证

我们正试图找出在业务逻辑或模型中执行验证的mvvm中的验证。我已经在我们的业务逻辑中实现了通过异常类型进行验证-可以在此处找到简化图:如果我们有很多彼此独立的输入,没有问题,抛出异常,文本框捕获它并标记每个错误输入的边框为红色。然而,当我们有依赖值时,我们就有麻烦了。例如模型中的Value1和Value2不能相同,因此我们在每个寻找相等值的对象中都有一个验证函数,如果发生这种情况则抛出异常现在,如果我们将Value1设置为0并将Value2设置为1,一切都很好Value1在GUI中被设置为1-->这个被标记为红色,因为没有触发其他值的验证,所以GUI中的Value2没有被标记为错误Va

c# - WPF:MVP 与 MVVM

MVP和MVVM有什么区别?为什么我们使用MVP,即使我们有三个层:业务、数据访问和表示?将Presentation层划分为MVP有什么具体原因吗? 最佳答案 MVP和MVVM都是MVC的衍生物。MVC是一种将用户表示和交互与内部表示分离的模式。这需要三层,因为将用户交互/呈现直接绑定(bind)到内部表示会导致两者弯曲以相互适应。在您的应用程序中,您将这些层描述为表示层、业务层和数据访问层。只有那些非常松散的描述,您才有可能描述任何MVC衍生产品,或原始MVC模式本身。每个导数之间的主要区别在于每一层对其他层的依赖性,以及它们之间

c# - ListView 中的 MVVM 分组项目

我不明白我做错了什么。我想在listView中对项目进行分组。结果我想看到类似的东西:它使用MVVM模式。这是我的XAML代码。这是我的EmploeeListViewModel.cspublicclassEmploeeListViewModel:ViewModelBase{readonlyEmploeeRepository_emploeeRepository;privateObservableCollection_allmpl;publicObservableCollectionAllEmploees{get{if(_allmpl==null){_allmpl=newObservabl