草庐IT

c# - 使用 MVVM 管理多项选择

在学习MVVM的过程中,我对WPF和ViewModel模式有了一些基本的了解。我在提供列表时使用以下抽象并且对单个选定项目感兴趣。publicObservableCollectionOrders{get;privateset;}publicICollectionViewOrdersView{get{if(_ordersView==null)_ordersView=CollectionViewSource.GetDefaultView(Orders);return_ordersView;}}privateICollectionView_ordersView;publicOrderView

c# - MVVM:将单选按钮绑定(bind)到 View 模型?

编辑:问题已在.NET4.0中修复。我一直在尝试使用IsChecked按钮将一组单选按钮绑定(bind)到View模型。查看其他帖子后,IsChecked属性似乎根本不起作用。我整理了一个重现问题的简短演示,并将其包含在下面。这是我的问题:是否有一种直接可靠的方法来使用MVVM绑定(bind)单选按钮?谢谢。附加信息:IsChecked属性不起作用有两个原因:选择按钮时,组中其他按钮的签名属性未设置为false。选择按钮时,在第一次选择按钮之后,未设置其自己的检查属性。我猜测绑定(bind)在第一次点击时被WPF破坏了。演示项目:这是重现问题的简单演示的代码和标记。创建一个WPF项目并

c# - MVVM:将单选按钮绑定(bind)到 View 模型?

编辑:问题已在.NET4.0中修复。我一直在尝试使用IsChecked按钮将一组单选按钮绑定(bind)到View模型。查看其他帖子后,IsChecked属性似乎根本不起作用。我整理了一个重现问题的简短演示,并将其包含在下面。这是我的问题:是否有一种直接可靠的方法来使用MVVM绑定(bind)单选按钮?谢谢。附加信息:IsChecked属性不起作用有两个原因:选择按钮时,组中其他按钮的签名属性未设置为false。选择按钮时,在第一次选择按钮之后,未设置其自己的检查属性。我猜测绑定(bind)在第一次点击时被WPF破坏了。演示项目:这是重现问题的简单演示的代码和标记。创建一个WPF项目并

c# - WPF MVVM : How to close a window

我有一个Button,当它被点击时它会关闭我的窗口:Ok在我将Command添加到Button之前这很好,即Ok现在它没有关闭,大概是因为我正在处理Command。我可以通过放入EventHandler并调用this.Close()来解决这个问题,即Ok但现在我的代码后面有代码,即方法SaveCommand。我正在使用MVVM模式,SaveCommand是我后面的代码中唯一的代码。我怎样才能以不同的方式执行此操作,以免使用代码隐藏? 最佳答案 我刚刚完成了一个blogpost关于这个话题。简而言之,使用get和set访问器将Acti

c# - WPF MVVM : How to close a window

我有一个Button,当它被点击时它会关闭我的窗口:Ok在我将Command添加到Button之前这很好,即Ok现在它没有关闭,大概是因为我正在处理Command。我可以通过放入EventHandler并调用this.Close()来解决这个问题,即Ok但现在我的代码后面有代码,即方法SaveCommand。我正在使用MVVM模式,SaveCommand是我后面的代码中唯一的代码。我怎样才能以不同的方式执行此操作,以免使用代码隐藏? 最佳答案 我刚刚完成了一个blogpost关于这个话题。简而言之,使用get和set访问器将Acti

c# - WPF MVVM 为什么使用 ContentControl + DataTemplate View 而不是直接的 XAML 窗口 View ?

为什么会这样?主窗口.xaml:将您的ExampleView.xaml设置为:然后像这样创建窗口:publicpartialclassApp:Application{protectedoverridevoidOnStartup(StartupEventArgse){base.OnStartup(e);MainWindowapp=newMainWindow();ExampleVMcontext=newExampleVM();app.DataContext=context;app.Show();}}什么时候可以这样?App.xaml:(设置启动窗口/View)ExampleView.xam

c# - WPF MVVM 为什么使用 ContentControl + DataTemplate View 而不是直接的 XAML 窗口 View ?

为什么会这样?主窗口.xaml:将您的ExampleView.xaml设置为:然后像这样创建窗口:publicpartialclassApp:Application{protectedoverridevoidOnStartup(StartupEventArgse){base.OnStartup(e);MainWindowapp=newMainWindow();ExampleVMcontext=newExampleVM();app.DataContext=context;app.Show();}}什么时候可以这样?App.xaml:(设置启动窗口/View)ExampleView.xam

c# - WPF 中的 MVVM - 如何提醒 ViewModel 模型中的变化......或者我应该吗?

我正在浏览一些MVVM文章,主要是this和this.我的具体问题是:如何将模型更改从模型传递到View模型?在Josh的文章中,我没有看到他这样做。ViewModel总是向Model询问属性。在Rachel的示例中,她确实让模型实现了INotifyPropertyChanged,并从模型中引发事件,但它们是供View本身使用的(有关她为什么这样做的更多详细信息,请参阅她的文章/代码).我没有看到模型提醒ViewModel模型属性更改的示例。这让我担心也许由于某种原因它没有完成。是否有一种模式可以提醒ViewModel模型发生变化?这似乎是必要的,因为(1)每个模型可能有多个ViewM

c# - WPF 中的 MVVM - 如何提醒 ViewModel 模型中的变化......或者我应该吗?

我正在浏览一些MVVM文章,主要是this和this.我的具体问题是:如何将模型更改从模型传递到View模型?在Josh的文章中,我没有看到他这样做。ViewModel总是向Model询问属性。在Rachel的示例中,她确实让模型实现了INotifyPropertyChanged,并从模型中引发事件,但它们是供View本身使用的(有关她为什么这样做的更多详细信息,请参阅她的文章/代码).我没有看到模型提醒ViewModel模型属性更改的示例。这让我担心也许由于某种原因它没有完成。是否有一种模式可以提醒ViewModel模型发生变化?这似乎是必要的,因为(1)每个模型可能有多个ViewM

c# - 使用 MVVM 在 wpf 中使用对话框的好习惯还是坏习惯?

我最近遇到了为我的wpf应用程序创建添加和编辑对话框的问题。我想在我的代码中做的就是这样的事情。(我主要使用viewmodelfirst方法和mvvm)调用对话窗口的ViewModel:varresult=this.uiDialogService.ShowDialog("DialogwindowTitle",dialogwindowVM);//Doanythingwiththedialogresult它是如何工作的?首先,我创建了一个对话服务:publicinterfaceIUIWindowDialogService{bool?ShowDialog(stringtitle,object