私は 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がこれを処理するはずだと思っていましたか?