Wpf MVVM TextBox不保存新值

问题描述 投票:-1回答:1

我正在尝试保存一个新值,但viewmodel变量为我保存了null值My Viewmodel

public string RagioneSociale
    {
        get => dati.RagioneSociale;
        set
        {

            dati.RagioneSociale = value;
            OnPropertyChanged();
        }
    }

随着每封书信,RagioneSociale自我更新

我的看法

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

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

在MyViewModel中我有这个方法

public void Test()
    {

        Dictionary<string, object> parametri = new Dictionary<string, object>();

        parametri.Add("RagioneSociale", RagioneSociale);
        fnc.UpdateRecord(Tabella, parametri);
     }

我使用这种方法更新数据库,但RagioneSociale证明没有价值

c# wpf mvvm
1个回答
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();

我将方法从view调用到viewmodel

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

我想我必须实现ICommand,但因为我在MVVM的开头我想尝试不使用命令

© www.soinside.com 2019 - 2024. All rights reserved.