Я получаю нулевой объект в модели MVVM с двухсторонним связыванием Silverlight - PullRequest
0 голосов
/ 20 марта 2011

Я новичок в Silverlight и пытаюсь сохранить форму в базе данных через RIA Services, используя MVVM Pattern.

Я получаю значение текстового поля в ViewModel, когда привязываю текстовое поле к строке в режиме twoway связывания.

Но когда я привязываю Object.Property к текстовому полю (привязка Twoway), я получаю нулевой объект в ViewModel после того, как я нажму на кнопку сохранения.

Вот мой код, пожалуйста, помогите мне выяснить, где я ошибаюсь.

private tblSchool _school;
public tblSchool thisschool
    {
        get 
        {
            return _school;
        }

        set 
        {
            if (_school != value)
            {
                _school = value;
                OnPropertyChanged("thisschool");
            }
        }
    }

    private void SaveSchool()
    {

        DomainServiceForDatabaseData service = new DomainServiceForDatabaseData();
        service.tblSchools.Add(thisschool); //HERE I GET NULL VALUE
        service.SubmitChanges();
    }

Вот мой XAML:

<Grid x:Name="LayoutRoot"
      DataContext="{Binding Source={StaticResource SignUpViewModel}}">
    <TextBox Height="23"
             HorizontalAlignment="Right"
             Margin="0,55,160,0"
             Name="textBox1"
             VerticalAlignment="Top"
             Width="213"
             Text="{Binding Path= thisschool.School_Name, Mode=TwoWay}" />

1 Ответ

3 голосов
/ 20 марта 2011

Вспомогательное поле _school не инициализируется в вашем примере кода.

Где-то вам нужно будет выполнить _school = new tblSchool (), иначе оно останется нулевым навсегда.

...