我是 silverlight 的新手,并尝试使用 MVVM 模式通过 RIA 服务将表单保存到数据库中。
当我将文本框绑定(bind)到 twoway
中的字符串时,我在 ViewModel 中获得了一个文本框值绑定(bind)模式。
但是当我绑定(bind)一个 Object.Property
到文本框(双向绑定(bind))我得到一个 空对象 单击保存按钮后,在 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}" />
最佳答案
支持字段 _school 未在您的代码示例中初始化。
您需要在某个地方执行 _school = new tblSchool() ,否则它将永远保持为空。
关于silverlight - 我在 MVVM 模型中使用 silverlight 两种方式绑定(bind)获得 Null 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5366994/