问题标签 [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.
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 吗?
谢谢,杰夫
wpf - 模型类上的 INotifyPropertyChanged
通常需要在 Model 类、ViewModel 类或两者上实现 INotifyPropertyChanged 吗?是否可以仅在模型上实现,而不是在 Viewmodel 上实现?如果不可能的模型那么为什么
xaml - 为什么从计时器引发 PropertyChanged 事件会导致 COMException?
我正在开发一个使用 XAML 的通用 Windows 平台应用程序,该应用程序在Windows 10 IoT Core
. 该应用程序驱动 I2C 总线上的温度传感器。传感器类是MLX90614Thermometer
. 传感器DispatcherTimer
每 100 毫秒(大约)使用一次读数并更新移动平均值。当移动平均值的值变化超过指定阈值时,传感器会引发ValueChanged
事件并在事件 args 中提供新值。
在我的 ViewModel 类中TemperatureSensorViewModel
,我订阅了传感器的ValueChanged
事件并使用它来更新名为Ambient
和Channel1
的绑定属性Channel2
。这些属性绑定到 XAML UI 中的文本块。这是事件处理程序:
...这是一个示例数据绑定Ambient
...
我正在使用MVVM Light Toolkit,所以我的属性是这样实现的(仅Ambient
显示,但除名称外,其他属性相同):
MVVM Light Toolkit 提供了该Set()
方法,该方法会自动引发PropertyChanged
正在设置的属性的通知。
如果我从传感器读取单个样本以响应按钮按下,这将正常工作。但是,一旦我启用自动采样模式(基于计时器),它就会开始抛出COMExceptions
. 所以这一定是某种与计时器相关的线程问题。
现在,如果我理解正确,运行时应该PropertyChanged
自动将通知编组到 UI 线程;从查看堆栈跟踪来看,情况似乎确实如此。但是,我最终得到一个COMException
. 啊。
笏?我不明白这里发生了什么。谁能看到问题可能是什么?
wpf - 在“System.Windows.StaticResourceExtension”上提供值引发异常
我正在尝试通过 Converter 在 WPF 中绑定窗口的可见性。我收到错误消息。System.Windows.StaticResourceExtension System.Windows.StaticResourceExtension
我在下面提供我的代码。我的视图是 在此处输入图像描述
我的视图模型如下:
区域窗口可见性
转换器是
此转换器与其他控件一起正常工作,但在此窗口中无法正常工作。我想知道转换器是否适用于窗口级别或仅适用于控件?
mvvm - 导航到 Windows Phone 8.1 上的另一个页面时,我的应用程序关闭
我正在使用 MVVM Light Toolkit 在 windows phone 8.1 中构建应用程序,当我使用导航服务的 NavigateTo 方法时,我的应用程序关闭而不会引发错误。这个问题似乎是随机的。
我正在使用典型的 MVVM 架构。我使用一个 ViewModelLocator,在其中我使用统一来注册我的所有依赖项。
windows-phone-8 - 如何在有孔的项目上传递 CommandParameter?
如何在有孔的项目上传递 CommandParameter?
我的xml代码
我的视图模型是。我没有得到持有物品的详细信息。如何解决这个问题
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 inherit
ModernWindow instead of
Window and added the following after the
InitilizeComponent()`
然后我将我的代码稍微更改XAML
为以下
应用程序编译,但我得到一个没有内容的黑屏。我该如何解决这个问题?
c# - 如何显示列表的值在使用 XAML 绑定的 ListView 中?
我使用 Microsoft.Toolkit.Mvvm 库作为 MVVM 库。我的 C# 代码如下:
我试图用来显示所有值的 XAML 代码List<int>
是:
更新列表时,会创建元素,但不显示 int 的值,只存在一个空行。如果我使用以下内容,我可以显示该值:
我应该如何更改 ListView,以便它也显示值?
wpf - 如何将模型信息传递给主窗口中的用户控件视图模型?
我正在尝试学习 MVVM Pattern 使用 WPF 做一个简单的 GUI。它只是一个简单的Autocad插件,带有一个显示模型信息的模态窗口。
我有两个带有各自视图和视图模型的用户控件。我在单个窗口/对话框中显示这些用户控件。其中一个用户控件需要显示一些信息,在 DataGrid 中表示一个简单的列表(模型)。
就像我之前说的,该用户控件的模型是一个现有的列表。我需要将列表信息传递给视图模型,但我正在为此苦苦挣扎。我正在考虑将它作为参数传递给 MainWindow 构造函数,然后传递给相应的视图模型,但听起来不是一个好主意。
在这种情况下我有什么选择?
我正在使用 MVVM 工具包。
谢谢!