159得票14回答
使用WPF/MVVM Light Toolkit处理窗口关闭事件

我想处理窗口的事件(当用户单击右上角的'X'按钮时),最终显示确认消息和/或取消关闭。 我知道如何在代码后台中完成这个操作:订阅窗口的事件,然后使用属性。 但我正在使用MVVM,所以我不确定这是否是正确的方法。 我认为正确的方法是将事件绑定到我的ViewModel中的一个。 我尝试了...

134得票4回答
什么是模板绑定与普通数据绑定?

我无法理解 BorderThickness="{TemplateBinding BorderThickness}。<ControlTemplate TargetType="{x:Type wpftoolkit:DataGridCell}"> <Border Paddi...

120得票3回答
什么是ViewModelLocator?与DataTemplates相比,它有哪些优缺点?

有人能给我简要介绍一下什么是ViewModelLocator、它的工作原理以及与使用DataTemplates相比使用它的优缺点吗? 我尝试在Google上找到相关信息,但似乎有很多不同的实现方式,并没有明确列出它是什么以及使用它的优缺点。

60得票1回答
如何使用MVVMLight SimpleIoc?

我正在改进我的软件,其中有混乱的 Messenger.Default(...) 代码块。 是否有简明易懂的MVVMLight SimpleIoc使用指南(不是通用IoC介绍)?

59得票7回答
MVVM Light Toolkit示例

有人知道使用MVVM Light Toolkit创建的开源WPF应用程序吗?或者有示例吗?

54得票7回答
ICommand CanExecute在PropertyChanged后没有触发?

我有一个展示了绑定到命令的按钮的WPF应用程序,就像这样:<Button Command="{Binding Path=TestrunStartCommand}" Content="GO!"> 命令的定义如下:public ICommand TestrunStartCommand ...

48得票6回答
如何使用MVVM Light Toolkit打开一个新窗口

我正在我的WPF应用程序中使用MVVM Light工具包。我想知道从现有窗口打开新窗口的最佳方法是什么。我有一个名为MainViewModel的对象,它负责我的应用程序的MainWindow。现在,在MainView中,当用户点击一个按钮时,我想在其上方打开第二个窗口。我绑定了一个RelayC...

45得票3回答
MVVM Light RelayCommand 参数

我在使用GalaSoft MVVM Light框架时,遇到了一个问题,无法通过参数传递给RelayCommand。我知道MVVM Light的RelayCommand实现不使用lambda参数,因此我进行了一些调研,并发现人们通过以下方式解决了这个问题:public RelayCommand ...

43得票3回答
MVVM Light:如何取消注册Messenger

我喜欢MVVM Light的Messenger和其灵活性,但是当我忘记显式注销接收者时(在Silverlight 4中),就会出现内存泄漏。 原因在这里有解释,不过我认为显式注销接收者是一个好习惯,而不是依赖Messenger使用弱引用。问题是做起来比说起来难。 ViewModels很容...

39得票1回答
MVVM Light + Unity还是Prism?

我对WPF有点过时了,想听听人们对最新版本的Prism(我几个版本之前用过)和MVVM Light + Unity方法(我从未使用过 - 如果有良好示例URL将会很不错)的看法。 我的项目将包含多个模块,由多位开发人员编写。此外,还有资金引入第三方控件套件,以使用其中一种花哨的Docking...