草庐IT

simple-mvvm

全部标签

c# - WPF MVVM 使用 BooleanToVisibilityConverter 隐藏按钮

在我的WPF应用程序中,我试图根据用户选择的选项更改按钮的可见性。加载时我希望其中一个按钮不可见。我正在使用内置值转换器BooleanToVisibilityConverter。但是它不起作用,因为按钮在加载时出现。我已将属性更改为true和false,没有区别。下面是我的代码,我看不出我遗漏了什么?我的View模型中的属性boolButtCancel{get{return_buttCancel;}set{_buttCancel=value;OnPropertyChanged("ButtCancel");}}在我的app.xaml中在我的MainWindow.xaml中

c# - 在 MVVM 应用程序中存储应用程序设置/状态的位置

我是第一次尝试使用MVVM,非常喜欢职责分离。当然任何设计模式只能解决很多问题——不是全部。所以我试图弄清楚在哪里存储应用程序状态以及在哪里存储应用程序范围的命令。假设我的应用程序连接到一个特定的URL。我有一个ConnectionWindow和一个ConnectionViewModel,它们支持从用户那里收集这些信息并调用命令来连接到该地址。下次应用程序启动时,我想在不提示用户的情况下重新连接到同一地址。到目前为止,我的解决方案是创建一个ApplicationViewModel,它提供连接到特定地址的命令并将该地址保存到某个持久性存储(实际保存的位置与这个问题无关)。下面是一个简化的

c# - 使用 MVVM 取消 WPF 中的组合框选择

我的WPF应用程序中有一个组合框:绑定(bind)到KeyValuePair的集合这是我的ViewModel中的CompMfgBrandID属性:publicstringCompMfgBrandID{get{return_compMFG;}set{if(StockToExchange!=null&&StockToExchange.Where(x=>!string.IsNullOrEmpty(x.EnteredPartNumber)).Count()>0){vardr=MessageBox.Show("Changingthecompetitormanufacturerwillremove

c# - MVVM 的 ReSharper 警告

当我使用WPF实现MVVM模式时,我发现ReSharper经常警告我某些属性从未在我的ViewModel中使用过。问题是它们正在被使用,但只被数据绑定(bind)系统使用。有没有其他人遇到过这种烦恼,有没有办法帮助ReSharper意识到这些属性确实被使用了?至少我很高兴VS2010正确地意识到[Import]标记的成员不会“始终为空”,但希望我也能解决这个问题。 最佳答案 您可以使用外部注释向ReSharper指示使用了该方法,因此不会向您发出警告。请参阅有关here的ReSharper文档.您需要使用[UsedImplicitl

c# - WPF:如何使用 MVVM 将命令绑定(bind)到 ListBoxItem?

我刚刚开始学习MVVM。我按照这个MVVMtutorial从头开始​​制作应用程序(我强烈推荐给所有MVVM初学者)。基本上,到目前为止我创建的是几个文本框,用户可以在其中添加他或她的数据,一个用于保存该数据的按钮随后将所有条目填充到ListBox中。这就是我遇到的问题:我希望能够双击ListBoxItem并触发我创建并添加到我的ViewModel的命令。我不知道如何完成XAML端,即我不知道如何将该命令绑定(bind)到ListBox(Item)。这是XAML:......这是View模型:publicclassMainWindowViewModel:DependencyObject

c# - 使用 ASP.NET MVC/MVVM 的 Websocket

今天早些时候我遇到了Kaazing's用于HTML5的WebSocketAPI。看起来很棒,但由于我现在才研究实时财务更新的WebSocket可能性,我想听听一些建议,以及在规划此架构时要避免的陷阱。我正在研究ASP.NetMVC,可能还有一些WPF/SilverlightMVVM。是否有其他更好的WebSocketAPI(以及为什么)以及一些好的示例?此外,WebSockets可以处理什么样的流量?我的意思是,如果我们有超过100万用户在实时更新系统上,那么硬件要求会因为软件架构实现WebSockets而发生怎样的变化? 最佳答案

c# - MVVM:修改模型,如何正确更新ViewModel和View?

案例假设我有一个Person类、一个PersonViewModel和一个PersonView。将属性从PersonView更新到Person模型非常简单。PersonViewModel包含一个Person对象并具有PersonView绑定(bind)到的公共(public)属性以更新Person模型。但是。假设Person模型可以通过Service进行更新。现在需要将属性更改传达给PersonViewModel,然后再传达给PersonView。这就是我要解决的问题:对于Person模型上的每个属性,我都会引发PropertyChanged事件。PersonViewModel订阅了Pe

c# - MVVM 数据访问层放在哪里?

我正在研究WPF的MVVM设计模式。但不确定将数据访问代码放在哪里?在我看过的一些示例中,数据访问是直接在ViewModel中执行的。在ViewModel中放置类似linqtosql的东西似乎很奇怪?其他示例有一个单独的数据访问项目,这看起来更像吗?这是一个通用的方法吗?我觉得我在这里错过了什么!谢谢 最佳答案 以下是我使用LINQ组织我的MVVM项目的方式:模型-我认为模型是系统的状态。它提供数据接口(interface),并跟踪系统状态。模型不知道ViewModel或View——它只是为其数据和各种事件提供一个公共(public

c# - WPF/MVVM - 如何处理双击 ViewModel 中的 TreeViewItems?

(注意-这是重新发布,因为我的第一个问题发布在错误的标题下:Here抱歉!)我有一个标准的WPFTreeView并绑定(bind)了项目以查看模型类。我现在希望处理双击项目时的行为(打开文档visual-studio-style)。我可以让事件处理程序在包含TreeView的控件中触发(显示的xaml),但是我如何绑定(bind)到View模型类上的特定行为-例如项目View模型?最好绑定(bind)到ICommand-implementer,因为它在其他地方使用... 最佳答案 稍微更新一下我的回答。为此,我尝试了很多不同的方法,

c# - 多个 View 模型之间状态共享的具体例子(WPF MVVM)

我有一个包含许多对象的WPF/EntityFramework(4.0)项目。我想构建应用程序,以便我可以在View模型之间共享对象选择状态。例如:我们有汽车、司机、乘客和cargo类。我们还有用于CarList、DriverList等的UserControls和用于CarEditor、DriverEditor等的编辑器窗口。此外,我们还有用于所有这些(CarListViewModel、DriverListViewModel、CargoEditorViewModel等)的View模型。这一切构成了一个可停靠界面,用户可以在其中打开多个对象列表、编辑器和查看器。我想要的是一个具体的代码示例