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));
}
}
}
}