问题标签 [mvvm-toolkit]

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 投票
1 回答
616 浏览

mvvm-light - mvvm light Winforms dll项目,如何加载ViewModelLocator

我正在用 c# 开发一个 winforms 项目。该项目是一个 Outlook 插件,因此没有希望完全转换为 mvvmlight/wpf,因为它是一个 winforms dll 项目。

然而,我试图想出一种将 MvvM Light 和 WPF 与 ElementHost 一起使用的方法。我遇到的问题是访问 ViewModelLocator。通常,这会像这样添加到 App.xaml 中:

并可通过以下方式查看:

就我而言,我没有 App.xaml,也没有可以引导框架的程序 main() 方法(因为这是一个 dll 项目,而不是应用程序)。我在我的 WPF 用户控件(托管在 elementhost 中)中尝试了以下操作,但它不起作用:

我认为它不起作用,因为它在被调用后被声明。无论如何,这将是一种妥协,因为我在每个视图中都需要该代码,所以我很高兴它没有工作。

有什么建议可以让我到达 ViewModelLocator 吗?

谢谢,杰夫

0 投票
3 回答
271 浏览

wpf - 模型类上的 INotifyPropertyChanged

通常需要在 Model 类、ViewModel 类或两者上实现 INotifyPropertyChanged 吗?是否可以仅在模型上实现,而不是在 Viewmodel 上实现?如果不可能的模型那么为什么

0 投票
2 回答
1468 浏览

xaml - 为什么从计时器引发 PropertyChanged 事件会导致 COMException?

我正在开发一个使用 XAML 的通用 Windows 平台应用程序,该应用程序在Windows 10 IoT Core. 该应用程序驱动 I2C 总线上的温度传感器。传感器类是MLX90614Thermometer. 传感器DispatcherTimer每 100 毫秒(大约)使用一次读数并更新移动平均值。当移动平均值的值变化超过指定阈值时,传感器会引发ValueChanged事件并在事件 args 中提供新值。

在我的 ViewModel 类中TemperatureSensorViewModel,我订阅了传感器的ValueChanged事件并使用它来更新名为AmbientChannel1的绑定属性Channel2。这些属性绑定到 XAML UI 中的文本块。这是事件处理程序:

...这是一个示例数据绑定Ambient...

我正在使用MVVM Light Toolkit,所以我的属性是这样实现的(仅Ambient显示,但除名称外,其他属性相同):

MVVM Light Toolkit 提供了该Set()方法,该方法会自动引发PropertyChanged正在设置的属性的通知。

如果我从传感器读取单个样本以响应按钮按下,这将正常工作。但是,一旦我启用自动采样模式(基于计时器),它就会开始抛出COMExceptions. 所以这一定是某种与计时器相关的线程问题。

现在,如果我理解正确,运行时应该PropertyChanged自动将通知编组到 UI 线程;从查看堆栈跟踪来看,情况似乎确实如此。但是,我最终得到一个COMException. 啊。

笏?我不明白这里发生了什么。谁能看到问题可能是什么?

0 投票
1 回答
5989 浏览

wpf - 在“System.Windows.StaticResourceExtension”上提供值引发异常

我正在尝试通过 Converter 在 WPF 中绑定窗口的可见性。我收到错误消息。System.Windows.StaticResourceExtension System.Windows.StaticResourceExtension

我在下面提供我的代码。我的视图是 在此处输入图像描述

我的视图模型如下:

区域窗口可见性

转换器是

此转换器与其他控件一起正常工作,但在此窗口中无法正常工作。我想知道转换器是否适用于窗口级别或仅适用于控件?

0 投票
2 回答
58 浏览

mvvm - 导航到 Windows Phone 8.1 上的另一个页面时,我的应用程序关闭

我正在使用 MVVM Light Toolkit 在 windows phone 8.1 中构建应用程序,当我使用导航服务的 NavigateTo 方法时,我的应用程序关闭而不会引发错误。这个问题似乎是随机的。

我正在使用典型的 MVVM 架构。我使用一个 ViewModelLocator,在其中我使用统一来注册我的所有依赖项。

0 投票
1 回答
28 浏览

windows-phone-8 - 如何在有孔的项目上传递 CommandParameter?

如何在有孔的项目上传递 CommandParameter?

我的xml代码

我的视图模型是。我没有得到持有物品的详细信息。如何解决这个问题

0 投票
1 回答
175 浏览

c# - 使用 MVVM Light 工具包发布 MonthPicker 大小

我的月份选择器有一个奇怪的问题。它在初始化时有很大的宽度。

我正在使用 MVVM Light Toolkit,这似乎是导致问题的原因。

事实上,对于标准的 WPF 应用程序,相同的代码可以工作......

另一个提示,没有弹出控件,此代码适用于 MVVM Light Toolkit。

这是我的代码:

这是后面的代码:

结果如下: 在此处输入图像描述

没什么特别的......我现在正在挣扎一段时间......任何帮助将不胜感激!

提前致谢!

0 投票
1 回答
822 浏览

c# - 如何将现代 UI WPF 样式添加到 MVVMLight 应用程序?

我正在尝试使用 MVVMLight 工具包和Modern UI WPF来使用 c# 创建一个新的 WPF 应用程序。

我创建了一个新的基于 MVVMLight 的项目。我使用 Nuget 安装了 Modern UI WPF。

我将以下 xaml 添加到文件中的Application.resources部分App.xaml。注意:我添加了x:Key="ModernUI"这不是来自文档的。但必须添加它以供应用程序编译。这是我的 App.xaml 代码的样子

然后我改变了我的MainWindow.xaml.cs to inheritModernWindow instead ofWindow and added the following after theInitilizeComponent()`

然后我将我的代码稍微更改XAML为以下

应用程序编译,但我得到一个没有内容的黑屏。我该如何解决这个问题?

0 投票
2 回答
49 浏览

c# - 如何显示列表的值在使用 XAML 绑定的 ListView 中?

我使用 Microsoft.Toolkit.Mvvm 库作为 MVVM 库。我的 C# 代码如下:

我试图用来显示所有值的 XAML 代码List<int>是:

更新列表时,会创建元素,但不显示 int 的值,只存在一个空行。如果我使用以下内容,我可以显示该值:

我应该如何更改 ListView,以便它也显示值?

0 投票
1 回答
42 浏览

wpf - 如何将模型信息传递给主窗口中的用户控件视图模型?

我正在尝试学习 MVVM Pattern 使用 WPF 做一个简单的 GUI。它只是一个简单的Autocad插件,带有一个显示模型信息的模态窗口。

我有两个带有各自视图和视图模型的用户控件。我在单个窗口/对话框中显示这些用户控件。其中一个用户控件需要显示一些信息,在 DataGrid 中表示一个简单的列表(模型)。

就像我之前说的,该用户控件的模型是一个现有的列表。我需要将列表信息传递给视图模型,但我正在为此苦苦挣扎。我正在考虑将它作为参数传递给 MainWindow 构造函数,然后传递给相应的视图模型,但听起来不是一个好主意。

在这种情况下我有什么选择?

我正在使用 MVVM 工具包。

谢谢!