gpt4 book ai didi

wpf - 从中央数据源在 MVVM 中创建选项卡控件

转载 作者:行者123 更新时间:2023-12-03 10:18:46 24 4
gpt4 key购买 nike

我是 MVVM 的新手,我正在尝试按照模式实现一个简单的应用程序。

为简单起见,我将问题分解为最简单的形式。如果我设法让这个工作,我将不会有任何问题来制作应用程序。

简单的应用程序由一个选项卡控件组成。两个选项卡都有自己的 ViewModel 很重要。但是,他们将从同一来源获取大部分数据。主要问题是让第二个选项卡知道第一个选项卡已经启动了数据源的更改。

因此,为简单起见,我们只说模型持有一个整数。该整数最初需要设置为 1。

第一个选项卡包含一个文本 block 和一个按钮。文本 block 的文本绑定(bind)到数据模型中的整数。按下按钮后,moddel 中的整数应增加 1。

第二个选项卡仅包含一个文本 block ,也绑定(bind)到数据模型中的整数。挑战是让这个文本 block 与第一个文本 block 一起更新,但仍然是它自己的 View 模型。

我需要某个中央位置来存储模型的值,并以某种方式让 View 模型知道它们已更新,因此它们的属性可以更新,因此 View 也会相应地更新。

有人可以尽可能详细地解释这是如何完成的吗?我已经尝试了十亿种不同的方法,但我没有让它发挥作用。

最佳答案

让我看看我是否有正确的问题:

  • 您有一个数据源(您的模型)。
  • 您有 2 个 View 模型。
  • 查看模型 1 更改模型中的数据。
  • View 模型 2 需要随着模型的变化而更新。

  • 如果这听起来不错,这里有一个解决方案:

    让您的模型实现 INotifyPropertyChanged。当整数更改时,引发 PropertyChanged 事件。在 View 模型 2 中,监听模型的 PropertyChanged 事件。当它发生时,引发 View 模型 2 的属性更改事件,其 UI 将自动更新。

    关于wpf - 从中央数据源在 MVVM 中创建选项卡控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4138242/

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