MVVM中的数据的刷新

在我们用MVVM框架做项目,在做到新增、删除等功能的时候,新增和删除成功后就会遇到一个问题,那就是数据的刷新。
怎样做到刷新的呢,其实刷新说白了就是重新查询下数据,只要我们调用一下查询的方法
就可以了。
当我删除数据时,因为删除操作和数据查询操作可以在同一个ViewModel中,所以我们在写删除的时候可以直接调用查询方法。
这是我写的查询方法:

private void GetAllCommodityBy()
{
   
	var list = (from tbCommodity in myModel.PW_Commodity
                join tbCommodtyType in myModel.PW_CommodityType on tbCommodity.CommodityTypeID equals tbCommodtyType.CommodityTypeID
                join tbUnit in myModel.PW_Unit on tbCommodity.UnitID equals tbUnit.UnitID
                join tbInventory in myModel.PW_Inventory on tbCommodity.InventoryID equals tbInventory.InventoryID
                select new CommodityVos
                {
   
                     CommodityID=tbCommodity.CommodityID,
            
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MVVM 模式,ViewModel 层是负责数据处理和业务逻辑的部分,而 View 层则是负责展示数据的部分。如果要实现实时刷新数据,需要在 ViewModel 实现 INotifyPropertyChanged 接口,该接口定义了 PropertyChanged 事件,这个事件可以在数据发生变化时被触发,通知 View 层进行界面更新。 例如,我们可以在 ViewModel 定义一个属性,当该属性的值发生改变时,触发 PropertyChanged 事件,通知 View 层进行界面更新。示例代码如下: ```csharp public class MyViewModel : INotifyPropertyChanged { private string _myData; // 定义一个属性,当该属性的值发生改变时,触发 PropertyChanged 事件 public string MyData { get { return _myData; } set { if (_myData != value) { _myData = value; OnPropertyChanged("MyData"); } } } // INotifyPropertyChanged 接口定义的 PropertyChanged 事件 public event PropertyChangedEventHandler PropertyChanged; // 触发 PropertyChanged 事件 protected void OnPropertyChanged(string propertyName) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } } ``` 在 View ,可以使用数据绑定的方式将 ViewModel 数据绑定到界面控件上,这样当数据发生变化时,界面控件会自动更新。例如: ```xaml <TextBox Text="{Binding MyData}" /> ``` 这样,当 ViewModel 的 MyData 属性的值发生改变时,TextBox 控件上显示的值也会发生相应的改变,从而实现了数据的实时刷新

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值