質問を簡単にするために、双方向バインディングを適用したい単一のテキストボックスコントロールがあります。たとえば、サーバー側に Customer という名前のオブジェクト クラスがあります。Silverlight アプリケーションは明らかに別のプロジェクトです。
public class Customer
{
public string Name{ get; set; }
}
WCF サービスには、顧客名を入力し、顧客タイプのリストを返すクエリがあります。
List<Customer> data = new List<Customer>();
クライアント側では、これをテキスト ボックス コントロールにバインドします。
<TextBox Canvas.Left="345" Canvas.Top="12" Height="23" Name="tb_customer" Width="120" Text="{Binding Path=Name}" />
List<ServiceReference.Customer> data = e.Result;
tb_customer.DataContext = data[0];
これは正常に機能しており、顧客名をテキスト ボックス コントロールにバインドしています。しかし、私の質問は、クライアント側で値を変更したときに、変更された顧客名をデータ ソース (この場合は sqlserver の customers という名前のテーブル) に戻すにはどうすればよいかということです。顧客クラスに INotifiyPropertyChanged を実装する必要がありますか? しかし、明らかに顧客クラスはサーバー側にあるので、クライアント側で顧客クラスのローカル インスタンスを作成し、これらの変更を wcf サービス経由でサーバーにアップロードする必要がありますか?