草庐IT

c# - 从 View 模型绑定(bind)到 ListView 项目点击属性

我正在尝试使用itemtapped属性将事件绑定(bind)到菜单页面上的ListView。目前我在我的应用程序中使用MVVM(Xamarinformlabs)框架。我想要完成的是当用户点击应用程序导航到正确View的菜单项时。这是xaml代码://setuptemplatehere我想将itemtapped事件绑定(bind)到这个函数:publicvoidNavigateTo(objectsender,ItemTappedEventArgsargs){vartest=args.ItemasMenuModel;cPageTypes.GetByKey(test.CommandParam

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

c# - 如何将通用项添加到绑定(bind)到 WPF 中的集合的 ComboBox

我在WPF应用程序中有一个ComboBox,它绑定(bind)到C#ViewModel类中Department对象的ObservableCollection。我想使用组合框按部门过滤另一个集合(现在确实适用)问题是我想在列表顶部添加一个附加选项“全部”。有没有正确的方法来做到这一点。制作一个假部门在很多方面都感觉不对。组合框 最佳答案 你可以使用CompositeCollection作为ComboBox的ItemsSource以包含“全部”选项。您需要将CollectionContainer的Collection属性设置为您的“部门

c# - 我可以以某种方式暂时禁用 WPF 数据绑定(bind)更改吗?

我有一个使用MVVM数据绑定(bind)的WPF应用程序。我正在将项目添加到ObservableCollection确实有很多。现在我想知道每次我向集合中添加一个时,它是否会立即触发事件并造成不必要的开销?如果是这样,我能否以某种方式暂时禁用事件通知并在我的代码末尾手动触发一次,这样如果我添加10k个项目,它只会被触发一次,而不是10k次?更新:我试过这门课:usingSystem;usingSystem.Linq;usingSystem.Collections.Specialized;usingSystem.Collections.Generic;namespaceMyProject