Не принимает результат из View в ViewModel MVVM light - PullRequest
0 голосов
/ 31 мая 2019

Моя ViewModel Не принимает значение из модели

Я создаю модель

public class UserModel : INotifyPropertyChanged
{
    private string firstName;


    public string Firstname
    {
        get => firstName;
        set
        {
            firstName = value;
            NotifyPropertyChanged("Firstname");
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;

    private void NotifyPropertyChanged(string propertyName = "")
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }
}

Моя модель просмотра

UserModel user = new UserModel();
public UserModel User
{
    get => user;
    set => Set(ref user, value);
}

и в модели я связываюсь сэта строка User.FirstName

<TextBox x:Name="FirstName" Style="{StaticResource FirstNameBox}" Grid.Column="2" Grid.Row="2" >
    <TextBox.Text>
        <Binding  Mode="TwoWay" Path="User.FirstName" UpdateSourceTrigger="PropertyChanged">
            <Binding.ValidationRules>
                <DataErrorValidationRule ValidatesOnTargetUpdated="False"/>
            </Binding.ValidationRules>
        </Binding>
    </TextBox.Text>

но я беру ноль.возьмите пример из этого ответа mvvm вычисленные поля

1 Ответ

1 голос
/ 31 мая 2019

Пути привязки чувствительны к регистру.Вы должны связать User.First n ame или изменить имя свойства на First N ame:

public string FirstName
{
    get => firstName;
    set
    {
        firstName = value;
        NotifyPropertyChanged("Firstname");
    }
}
...