草庐IT

c# - WPF MVVM : Binding a different ViewModel to each TabItem?

我有一个带有选项卡控件的主窗口,其中包含2个tabItem:我目前有1个ViewModel为Tab1和Tab2提供服务。此ViewModel因SOC模糊而变得有点臃肿。我想将逻辑拆分为2个View模型:ViewModel1和ViewModel2。我的理解是,您可以将主窗口DataContext设置为包含ViewModel集合的BaseViewModel,然后您可以将每个TabItem声明为不同的ViewModel。我看到的这些基本ViewModel的示例公开了一个ObservableCOllection,如下所示:privateObservableCollection_viewMode

c# - WPF MVVM 代码隐藏

在我的WPFMVVM项目中,我尽量避免在View中隐藏代码。但是我有一些非常特定于View的东西。例如,当控件获得焦点时,我希望突出显示全文(即使用户单击文本框)。在这里,我可以选择在View模型中处理这个问题(然后需要了解View,我想避免这一点)。我还有一些其他类似的代码,当用户在键盘上向左或向右按​​下时(他们只对View进行更改,而不是模型或View模型)我又在想这些的最佳位置是在View的代码后面。所以我问的是代码是否只影响View(例如光标移动、选择文本框中的所有文本等...,而不是模型或View模型,是否可以将其放入代码中在后面,而不是在其他地方。想知道这里的最佳实践是什

c# - 与 ViewModel 绑定(bind)的 MVVM 动态菜单 UI

我正在与一个团队合作处理LoB应用程序。我们想要一个动态的Menu控件,它根据登录的用户配置文件创建菜单。在以前的开发场景(即ASP.NET)中,我们使用迭代描述集合的数据并动态生成MenuItem。在MVVM中我该怎么做?我可以将XAMLView与描述菜单元素的ViewModel分开吗?解决方案:通过评论员的输入,我能够将Menu与来自ViewModel的数据动态绑定(bind)。这article也有很大的帮助。XAML:[...]菜单数据类:publicclassMenu:ViewModelBase{publicMenu(){IsEnabled=true;Children=newL

c# - WPF/多线程 : UI Dispatcher in MVVM

也就是说,在MVVM环境中,我在后台线程中,我想在ui控件上运行更新。所以通常我会去myButton.Dispatcher.BeginInvoke(blabla)但我无权访问myButton(因为View模型无权访问View的控件)。那么这样做的正常模式是什么?(我猜总有绑定(bind),但我想知道如何通过调度程序做到这一点) 最佳答案 我通常使用Application.Current.Dispatcher:因为Application.Current是静态的,所以您不需要对控件的引用 关

c# - 从 MVVM 中的 DataGrid 或 ListBox 绑定(bind)到 SelectedItems

只是在WPF上做了一些简单的阅读,我需要从DataGrid中绑定(bind)selectedItems,但我无法想出任何有形的东西。我只需要选定的对象。数据网格: 最佳答案 SelectedItems可绑定(bind)为XAMLCommandParameter。经过大量挖掘和谷歌搜索,我终于找到了解决这个常见问题的简单方法。要使其正常工作,您必须遵循以下所有规则:正在关注EdBall'ssuggestion',在XAML命令数据绑定(bind)上,在Command属性之前定义CommandParameter属性。这是一个非常耗时的错

c# - mvvm 如何使 ListView 自动滚动到 ListView 中的新项目

我正在使用MVVM模式,我有一个创建新ViewModel的View,在用户单击保存后,关闭此View并打开一个显示View模型集合的单独View在ListView中。这个ListView是按字母顺序排列的,所以新的ViewModel可能会出现在ListBox的底部,不是立即可见的给用户。我的问题是如何让View自动滚动到新添加的项目?我想它将使用附加行为,以及ListView上的ScrollIntoView事件,但是我需要从GridView中捕获它的哪个事件我不确定..干杯 最佳答案 此解决方案适用于ListBox,但它可以针对Li

c# - WPF-MVVM-组合框选定项

我有ViewModel(已实现INotifyPropertyChanged)在后台和类中Category它只有一个string类型的属性.我的ComboBoxSelectedItem绑定(bind)到类别的实例。当我更改实例的值时,SelectedItem不会更新,Combobox也不会更改。编辑:代码组合框:属性:privateCategory_NodeCategory;publicCategoryNodeCategory{get{return_NodeCategory;}set{_NodeCategory=value;OnPropertyChanged("NodeCategory"

c# - 使用 Prism 和 MVVM 模式在 WPF 中创建模态对话框的 "pretty"方法

昨天我使用谷歌找到了一些方法来在WPF中使用PRISM4.1和MVVM模式制作一个很棒的可重用模式对话框。我找到了一些例子,但我必须说,没有一个像我喜欢的那样“漂亮”。这个:WPFModalDialog(没有mvvm->没有用)这很好:ShowingDialogswhenusingtheMVVMPattern(但它仍然使用自制的ServiceLocator,我不需要它,因为我正在使用IUnity容器。我可以使用逻辑并将其重写为Unity,但在我看来,这不是“漂亮”的方式。在网络上搜索信息一段时间后,一些博客(现在找不到来源)告诉我PRISM框架有一个叫做“交互请求”的东西。所以我查看了

javascript - 具有自定义过滤器的 Kendo MVVM Grid

我正在使用MVVM模式构建一个KendoGrid,我想要2个自定义过滤器:带有extra=false和自定义运算符的通用网格过滤器带有组合框的自定义列过滤器非常类似于thisKendoGriddemo.我似乎无法在列上使用data-filterable属性或filterableui使其与MVVM模式一起工作:我已经createdaJSFiddle来说明我要做什么。 最佳答案 实际上它只是漏掉了一些点,比如data-filterable="customGridFilter"应该变成data-filterable="true",而且在剑

javascript - 我们是否正在倒退使用 JavaScript MVC (MVVM) 框架,如 Backbone.js、Angular 等?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。如今,诸如Backbone.js、Angular、Ember.js等JavaScriptMVC框架风靡一时。我知道它们非常适合防止意大利面条代码等等,但我真的不明白为什么它们会像现在这样大行其道。经过这么多年使用诸如渐进式增强之类的东西确保网站可以访问之后,当禁用JavaScript时,这种东西无论如何都不起作用。看看https://app.getblim