我正在尝试为我正在开发的一个 Windows Phone 应用程序实现 MVVM,并且它正在变得越来越大。我在模型类中尝试了下面的代码。我想知道如何处理用户单击“最新条目”按钮的情况,它将连接到服务并异步执行方法。一旦返回数据,我必须在 UI 中显示最新记录,其中包含 3 个文本字段 EmpName、EmpID、Address。
模型类中的代码:
public class EmpDetailsModel:INotifyPropertyChanged
{
private string _EmpName;
public string EmpName
{
get { return _EmpName; }
set {
if (value != _EmpName)
{
_EmpName = value;
RaisePropertyChanged("EmpName");
}
}
}
private string _EmpId;
public string EmpId
{
get { return _EmpId; }
set {
if (value != _EmpId)
{
_EmpId = value;
RaisePropertyChanged("EmpId");
}
}
}
private string _Address;
public string Address
{
get { return _Address; }
set {
if (value != _EmpId)
{
_EmpId = value;
RaisePropertyChanged("Address");
}
}
}
#region myfirstmodel inotify members
public event PropertyChangedEventHandler PropertyChanged;
private void RaisePropertyChanged(string propertyName)
{
if (this.PropertyChanged != null)
{
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
#endregion
连接到服务的代码如下:
EmpAzureSer empAzureSer = new EmpAzureSer();
empAzueSer.GetLatestEntry += new GetLatestEntryCompletedEventHandler(LatestEntryCompleted);
private void LatestEntryCompleted(object sender, GetLatestEntryCompletedEventArgs e
{
//get the data from e as e.Name,e.Id and e.Address and bind them to UI.
}
查看xml代码:
<Button Name="FetachLAtest" Click="FetachLatest_Click"></Button>
<TextBlock Name="EmployeeName"></TextBlock>
<TextBlock Name="EmployeeID"></TextBlock>
<TextBlock Name="EmployeeAddress"></TextBlock>
我正在关注链接http://msdn.microsoft.com/en-us/library/windowsphone/develop/gg521153(v=vs.105).aspx。
这很有帮助,但我想知道我在哪里将代码连接到服务(模型?或 Viewmodel?viewmodel 应该是什么样子?