【无标题】

20220706 MVVM 学习记录

查询功能页面数据未能实现更改
RelayCommand命令 没整明白是干啥用的

model

using System;
using System.Collections.Generic;

public partial class T_province
{
    public int id { get; set; }
    public string province { get; set; }
}

view

在这里插入图片描述

<Grid>
    <Button  Command="{Binding AddCommand}" Background="Transparent" BorderThickness="0" Content="增" FontSize="40" Foreground="AntiqueWhite"  Height="76" Width="134" Margin="287,693,10,0"/>
    <Button  Command="{Binding DeleteCommand}" Background="Transparent" BorderThickness="0" Content="删" FontSize="40" Foreground="AntiqueWhite"  Margin="0,692,297,0"/>
    <Button  Command="{Binding UpdateCommand}" Background="Transparent" BorderThickness="0" Content="改" FontSize="40" Foreground="AntiqueWhite"  Margin="134,692,163,0"/>
    <Button  Command="{Binding FindCommand}" Background="Transparent" BorderThickness="0" Content="查" FontSize="40" Foreground="AntiqueWhite"  Margin="0,692,27,0" Grid.Column="1"/>
    <TextBox HorizontalAlignment="Left" Height="24" Margin="14,222,0,0" TextWrapping="Wrap" Text="{Binding Id}" VerticalAlignment="Top" Width="120"/>
    <TextBox HorizontalAlignment="Left" Height="24" Margin="14,273,0,0" TextWrapping="Wrap" Text="{Binding Province}" VerticalAlignment="Top" Width="120"/>
</Grid>

ViewModel

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
using System.Runtime.CompilerServices;
using Microsoft.Toolkit.Mvvm.Input;

namespace My_CC.ViewModels
{
public class MainViewModels : ViewModelBase
{
public ICommand AddCommand { get; }
public ICommand DeleteCommand { get; }
public ICommand FindCommand { get; }
public ICommand UpdateCommand { get; }
public MainViewModels()
{
AddCommand = new RelayCommand(AddData);
DeleteCommand = new RelayCommand(DeleteData);
FindCommand = new RelayCommand(FindData);
UpdateCommand = new RelayCommand(UpdateData);
}

    public void UpdateData()
    {
        using (var sql = new TESTEntities())
        {
            var data = sql.T_province.FirstOrDefault(o => o.id == id);
            if (data != null)
            {
                data.province = Province;
            }
            sql.SaveChanges();
        }
    }
    private  void AddData()
    {
        using (var sql = new TESTEntities())
        {
            sql.T_province.Add(new T_province { id = Id, province = Province });
            sql.SaveChanges();
            sql.Dispose();
        }
    }

    private void DeleteData()
    {
        using(var sql=new TESTEntities())
        {

            //First查询一条
            sql.T_province.Remove(sql.T_province.First(p=>p.id==Id));
            sql.SaveChanges();
            sql.Dispose();
        }
    }

    private void FindData()
    {
        using(var sql=new TESTEntities())
        {
            var data = sql.T_province.FirstOrDefault(o => o.id == id);
            if(data!=null)
            {
                Id = data.id;
                Province = data.province;
            }
        }
    }
    private int id;
    private string province;
    public int  Id
    {
        get{ return Convert.ToInt32(id); }
        set
        {
            id = value;
            if (id != value)
            {
                id = value;  //地址
                SetValue(nameof(Id));
            }
        }
    }

    public string Province
    {
        get { return province; }
        set
        {
            province = value;
            if (province != value)
            {
                province = value;
                SetValue(nameof(Province));
            }
        }
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值