MVVM中的数据接收与传送

在MVVM开发中,数据的传递和接收是关键。例如,新增和修改功能可能共用同一视图,通过改变标题区分操作。数据的传递主要在ViewModel间进行,通过定义接收实体并在需要的地方引用,如`var addAmends = (addAmend.DataContext as AddAmendViewModel);`来实现不同ViewModel之间的数据交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在用MVVM框架开发时 ,时常要进行数据的传送和接收。就比如两个不同的功能要用到同一个页面的情况,就拿新增和修改功能来说,它们不就是要用到同一个页面的吗,它们就是标题不以样而已。
当你点击新增,页面显示的标题为新增:
在这里插入图片描述
当你点击修改时:
在这里插入图片描述
在MVVM中,数据的传送和接收都是发生在ViewModel中的,
首先在需要接收数据的ViewModel中定义一个用来接收数据的实体:

 private string textCommand;
 public string TextCommand
 {
 	get { return textCommand; }
    set
   {
   		if (textCommand != value)
        {
        	textCommand = value;
            RaisePropertyChanged(() => TextCommand);
         }
    }
 }

传输数据的ViewModel层:

public void Add(Window window)
{
	 AddAmend addAmend = new AddAmend();
     var addAmends = (addAmend.DataContext as AddAmendViewModel);
     addAmends.TextCommand = "增加商品";
     addAmend.Show();
}

public void Amend(Window window)
{
 	AddAmend addAmend = new AddAmend();
    var addAmends = (addAmend.DataContext as AddAmendViewModel);
    addAmends.TextCommand = "修改商品";
    addAmend.Show();
}

其中的
var addAmends = (addAmend.DataContext as AddAmendViewModel);
就是连接传输数据的两个ViewModel的代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值