gpt4 book ai didi

wpf - 使用代码隐藏从 XAML 访问变量和从 ViewModel 访问对象

转载 作者:行者123 更新时间:2023-12-04 16:46:22 26 4
gpt4 key购买 nike

我是 Windows Phone 开发的新手。我想问是否有可能做到这一点。我需要使用后面的代码访问 XAML 中的变量,然后将其作为项目添加到在我的 View 模型中找到的现有列表中。因此,我需要访问我的 View 模型以获取列表和 XAML 以从资源中获取变量。

这是可行的吗?如果是,我该如何访问它。这就是我当前的 XAML 中的内容。

<phone:PhoneApplicationPage.Resources>
<system:String x:Key="scanName">SCAN</system:String>
</phone:PhoneApplicationPage.Resources>

非常感谢,

最佳答案

您正在尝试做的是对 MVVM 的所有内容的严重违反,但有可能......

使用 View 代码隐藏中的以下行,您可以...

...访问资源字符串:

var scanName = this.Resources["scanName"];

...访问 ViewModel:
var vm = DataContext as MyViewModel;
if (vm == null) return;
vm.ScanHistory.Add(scanName);

话虽如此,你真的不应该这样做。 MVVM 的思想是将 ViewModel 和 View 完全解耦,让 WPF 绑定(bind)机制为您将它们连接在一起。在您的情况下,据我所知,您应该将扫描名称存储在其他地方,作为资源或配置值,在您的 ViewModel 中获取它并在您的 ViewModel 上提供一个 View 可以绑定(bind)的属性。

关于wpf - 使用代码隐藏从 XAML 访问变量和从 ViewModel 访问对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16007054/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com