WPF MVVM TextBox无法保存新值

时间:2018-08-31 19:58:57

标签: c# wpf mvvm

我正在尝试保存一个新值,但是viewmodel变量为我保存了<?php use Doctrine\ORM\EntityManager; use Doctrine\ORM\EntityRepository; final class SecondBugRepository { /** * @var EntityRepository */ private $repository; public function __construct(EntityManager $entityManager) { $this->repository = $entityManager->getRepository(Bug::class); } // ... other methods } 值 我的视图模型

null

每写一封信,public string RagioneSociale { get => dati.RagioneSociale; set { dati.RagioneSociale = value; OnPropertyChanged(); } } 都会自我更新

MyView

RagioneSociale

我从sqllite加载数据,并且一切正常,但是如果我编写和修改文本框并保存,则该值为空

在MyViewModel中,我有此方法

<TextBox Grid.Row="1" Text="{Binding RagioneSociale, UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}" Style="{StaticResource TextBoxRouge}"/>

我使用这种方法来更新数据库,但是public void Test() { Dictionary<string, object> parametri = new Dictionary<string, object>(); parametri.Add("RagioneSociale", RagioneSociale); fnc.UpdateRecord(Tabella, parametri); } 却没有任何价值

1 个答案:

答案 0 :(得分:0)

此方法读取自动属性

 public event PropertyChangedEventHandler PropertyChanged;

    protected void OnPropertyChanged([CallerMemberName] string propertyName = "")
    {

        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
    }

我认为我会使用

var vm = new AnagraficaViewModel();
        this.DataContext = vm;
        vm.Visualizza();

我从视图到视图模型调用该方法

private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
    {
        var vm = new AnagraficaViewModel();
        vm.Test();
    }

我认为我必须实现ICommand,但是由于我是MVVM的开始,所以我想尝试不使用该命令