2011-03-20 20 views
0

我是silverlight的新手,嘗試使用MVVM Pattern通過RIA Services將表單保存到數據庫。我使用Silverlight雙向綁定獲取MVVM模型中的空對象

當我將文本框綁定到twoway綁定模式的字符串時,我在ViewModel中獲得了一個文本框值。

但是當我將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}" /> 

回答

3

支持字段_school不會讓你的代碼示例中初始化。

某處你需要做_school = new tblSchool()或它將永遠保持爲null。

+0

是的兄弟我知道如何在C sharp中初始化。但是這是Silverlight MVVM模型,其中文本框和屬性綁定在雙向職業中,並且不需要初始化(我認爲)。 – 2011-03-20 07:20:17

+0

你假設初始化不是必需的,但它實際上是。嘗試更換'私人tblSchool _school;''私人tblSchool _school =新tblSchool();' – JoDG 2011-03-20 07:23:22

+0

thankxxx JoDG ................... – 2011-03-20 10:52:56

相關問題