我正在为用户设计一个配置文件页面,供用户编辑他们的个人信息。我正在使用一个PersonViewModel(其中包含当前登录的人)来显示有关用户的当前信息。编辑用户信息的字段绑定到验证模型。按下“执行更改”按钮并获得服务器响应(HTTPStatusCode Ok +更改后的用户对象)后,根据更改更改现有对象的字段。然后我使用setter注入来更新我的PersonViewModel ...在调试时,我可以看到我的对象都是最新的,但是我的视图仍然显示旧信息...我在做什么错了?`Windows Phone 8.1 RT视图不更新(MVVM)
这是得到时候我按下按钮来执行我的变化执行的代码:
private async void ChangeInfoButton(object sender, RoutedEventArgs e)
{
User user;
List<ErrorInfo> errors;
if (_profileInformationValidationModel.TryGetUser(out user, out errors))
{
var response = await Session.Instance.DataProvider.UpdaterUserInfo(user);
if (response.IsSuccess)
{
/*SignedInUserInfo = AlteredUserInfo*/
Session.Instance.User.Information = user.Information;
_personViewModel.SetPerson(user.Information);
var d1 = new MessageDialog("Uw gegevens werden succesvol gewijzigd.");
d1.ShowAsync();
AnnulInfoButton(sender, e);
}
` 这是PersonViewModel:
public class PersonViewModel
{
private Person _person;
public void SetPerson(Person p)
{
_person = p;
}
public PersonViewModel(Person person)
{
_person = person;
}
public string Street
{
get { return _person.Street; }
}
public string HouseNumber
{
get { return _person.HouseNumber; }
}
public string Bus
{
get { return _person.Bus; }
}
public string Email
{
get { return _person.Email; }
}
你的MVVM模式不正确。你的模型和你的模型之间确实没什么区别。发布你的xaml绑定。 – 2014-12-06 23:48:44