我正在尝试学习 WPF 并试图找出将我的LINQ to SQL类绑定到WPF 窗口的最佳方法。
到目前为止,我有这个:
using (Database.DataClasses1DataContext db = new Database.DataClasses1DataContext())
{
var user = db.Users.Where(u => u.Email == TextboxEmail.Text).FirstOrDefault();
CustomerTab.DataContext = user;
}
在XAML中
<TextBox Name="TextboxContactName" Grid.Row="1" Margin="0,2" Grid.Column="1" Text="{Binding Path=ContactName, UpdateSourceTrigger=LostFocus, Mode=TwoWay}"></TextBox>
因此,这提供了一种将名称显示到文本框的单向绑定。
我一直在尝试在线跟踪示例,但我的问题是,当文本框失去焦点时,如何使其自动更新 LINQ。
我需要在失去焦点事件中手动输入它吗?
编辑 我试图在文本框失去焦点时运行它:
using (Database.DataClasses1DataContext db = new Database.DataClasses1DataContext())
{
Database.User customer = (Database.User)CustomerTab.DataContext;
db.SubmitChanges();
}
但客户对象没有更新。我知道我可以这样做:
customer.ContactName = textbox.Text;
db.submitChanges();
但我认为 WPF 应该为我处理这个问题?