问题标签 [mvvm-light]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
911 浏览

wpf - Wpf 弹出窗口或模式窗口作为用户输入屏幕?

我正在构建一个具有多个用户输入屏幕的应用程序。我想知道使用 wpf 弹出窗口而不是模式窗口是否有优点/缺点?我正在使用 mvvm-light。

我注意到弹出窗口被广泛用于触摸应用程序(例如 iPad)。

0 投票
2 回答
2478 浏览

wpf - 从 WPF 中的数据绑定枚举设置视觉状态

大家好,我有一个场景,我想切换 4 个不同内容控件的可见性。我设置了不透明度的视觉状态,并根据每个给定的状态折叠(参见代码。)我想做的是将视觉状态绑定到我的 Enum 类型的视图模型的属性。我尝试使用 DataStateBehavior,但它需要 true/false,这对我不起作用。所以我尝试了 DataStateSwitchBehavior,据我所知,它似乎完全被 WPF4 破坏了。有没有更好的方法来做到这一点?如果需要,我真的对不同的方法持开放态度,但我真的很想将这个枚举保留在等式中。

编辑:

代码不应该太重要,我只需要知道这个问题是否有众所周知的解决方案。

0 投票
3 回答
5457 浏览

visual-studio-2010 - Visual Studio 2010 错误:Universe 类型无法解析程序集

我已经将最初在 Visual Studio 2008 中创建的 WPF 项目加载到 Visual Studio 2010 中。转换过程进行得很顺利,但是在某些 XAML 文件上,VS2010 设计器会抛出与项目引用相关的几个错误,包括这个:

System.Reflection.Adds.UnresolvedAssemblyException

类型 Universe 无法解析程序集:GalaSoft.MvvmLight,Version=3.0.0.31869,Culture=neutral,PublicKeyToken=3e875cdb3903c512。

此程序集参考在 Expression Blend 4 设计器中工作得很好,但在 VS2010 中却不行。

我可以成功构建并运行该解决方案。

我的解决方案针对 .Net Framework 3.5 SP1。

0 投票
4 回答
1146 浏览

wpf - 通过重新查询或添加到集合来更新可观察集合?

我有一个可观察的集合作为视图模型中的属性公开。可观察集合加载了来自数据访问层 (linq2sql) 的对象。

当通过另一个视图模型将新项目添加到数据库时,更新可观察集合的最佳方法是什么?我应该使用对数据库的查询来重新填充可观察集合还是直接将新对象插入到集合中?

此外,我仍在尝试研究如何让一个视图模型与另一个视图模型进行通信,但我只使用 mvvm 3 天。

0 投票
6 回答
33120 浏览

visual-studio - 解锁公司机器上的 DLL。如何?

我正在尝试测试 MVVMLight,但它附带的 DLL 已被阻止。我已经阅读过它,并被告知要单击文件属性中的 UNBLOCK ..但这对我来说不存在..然后我发现了一个名为 STREAMS 的程序,它应该可以解除阻止..这不起作用...任何其他想法如何解决这个问题?

错误 7

无法加载程序集文件:///C:\MIX10-MVVM-Samples\Mix10.MvvmDemo2 - End\Mix10.MvvmDemo2\Bin\Debug\GalaSoft.MvvmLight.Extras.SL4.dll

. 此程序集可能已从 Web 下载。如果程序集是从 Web 下载的,Windows 会将其标记为 Web 文件,即使它驻留在本地计算机上也是如此。这可能会阻止它在您的项目中使用。您可以通过更改文件属性来更改此名称。仅取消阻止您信任的程序集。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=179545。Mix10.MvvmDemo2

0 投票
1 回答
1734 浏览

user-controls - MVVM-Light Locator Pattern 和可重用的用户控件

我有一个现有的 Silverlight 4 应用程序,我试图将其转换为使用定位器模式和 MVVM-Light 库。

我的理解是 MvvmLocator 类保留对每个视图模型的引用,并允许您将每个视图的 DataContext 绑定到定位器中的适当 ViewModel。

我的应用程序使用导航框架,因此应用程序中的每个页面都是加载到内容框架中的 UserControl。

我可以看到将每个页面视图绑定到定位器中的适当 ViewModel 是多么容易,但我的问题是我有其他 UserControls 具有自己的视图模型,这些视图模型可以在多个上下文中重复使用,如果每个实例都会导致问题控件的绑定到相同的最终视图模型实例。

例如,我有一个包含 2 个用户控件的搜索页面。第一个是搜索参数控件,其中包含几个相互依赖的组合框和一个搜索按钮。第二个是结果网格本身。包含这两个控件的页面的视图模型处理它们之间的通信。问题是这个搜索控件也会在其他页面上使用,并且让它们都使用相同的视图模型实例会导致各种令人头疼的问题。因此,使用普通的“DataContext={Binding ProductSearch, Source={StaticResource Locator}}”似乎是不可能的......

有没有其他人遇到过这个问题或有任何好主意如何解决它?我在想也许我可以修改定位器,为使用控件的每个页面创建一个新的视图模型实例。否则,我可以对每个页面转换强制进行清理,但是我将无法保存页面之间的状态。

我是整个 Silverlight 和 MVVM 世界的新手,所以也许我错过了关于这一切应该如何构建的一些东西,或者把自己画到了一个角落。我只是不确定。我绝对欢迎任何建议。

0 投票
2 回答
2593 浏览

datagrid - Silverlight 4 DataGrid LoadingRow 事件使用 MVVM-Light EventToCommand 未触发?

我正在使用 MVVM-Light EventToCommand 尝试从我的 ViewModel 实现预取机制,使用发布在 MVVM Light codeplex 站点上的 EventToCommand 示例代码。

不幸的是,即使我用作模型的 MouseMove 事件确实可以正常触发,该命令似乎也没有触发。

我是否错过了有关 DataGrid LoaddingRow 事件的一些时髦的东西,这意味着这将永远无法工作?

这是我的 XAML(将 MouseMove 事件人为地添加到混合中以证明基础知识):

等等

这是我的 ViewModel 中的代码:

并在 ViewModel 的构造函数中调用以下内容

MouseMove 的代码被命中,LoadingRow 的代码未被命中。我错过了什么?

0 投票
3 回答
698 浏览

.net - 在轮询提要的 mvvm 项目中放置计时器的位置

我有一个 MVVM 项目,它每 10 秒轮询一次提要以查看更新。提要的结果使用 ObervableCollection 显示。这很好用,但我不确定我可以将调度的计时器放在哪里。它应该在 Model.DataService 中还是在 ViewModel.MainViewModel 中?

谢谢

0 投票
5 回答
24250 浏览

silverlight - Silverlight 4 中缺少 System.Windows.Interactivity - mvvm light 教程

我正在尝试遵循此MVVM Light Toolkit V3 Alpha 2:EventToCommand 行为教程。

我正在使用带有silverlight 4的vs2010。我没有表情混合。

该教程指出

此外,您需要 System.Windows.Interactivity.dll

我似乎没有这个:当我尝试添加参考时,我看不到这个。任何人都知道我应该如何获取/添加它?

提前致谢!

0 投票
1 回答
128 浏览

.net - 项目中的多个视图

我想创建一个包含 2 个视图和 2 个视图模型的项目。其中一个视图将显示我从提要中获得的人,另一个将显示我也从提要中收到的天气。

现在在我的 viewmodellocator 构造函数中,我有 static ViewModelLocator() { Container = new UnityContainer();

然后我设置在视图中使用它

但是如何添加我的天气视图?在主要我的构造函数看起来像这个 public MainViewModel(ICommentService commentsService)

我需要在构造函数中添加一个参数吗?

如果有人可以提供帮助将不胜感激