簡體   English   中英

使用Silverlight和WCF服務的雙向綁定

[英]Two way binding using Silverlight and WCF Service

為了簡化問題,我有一個文本框控件,我想應用兩種方式綁定。 我在服務器端有一個名為Customer的對象類,例如,Silverlight應用程序顯然是一個單獨的項目。

public class Customer
{
    public string Name{ get; set; }
}

在WCF服務中,我有一個查詢,該查詢將填充客戶名稱,並返回類型為Customer的列表。

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服務將這些更改上傳回服務器?

像這樣設置文本框:

<TextBox Canvas.Left="345" Canvas.Top="12" Height="23" Name="tb_customer" Width="120" Text="{Binding Path=Name, Mode=TwoWay}" />

使用此設置,對文本框的值所做的更改將自動在本地更新對象的狀態。 然后,您將不得不將更改提交回數據存儲。 如果您使用的是諸如實體框架之類的ORM,只需在上下文中調用SubmitChanges()就可以了。 如果您不使用ORM,則必須手動處理更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM