Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 绑定问题-MVVM_C#_Xaml_Mvvm_Windows Phone 8_Binding - Fatal编程技术网

C# 绑定问题-MVVM

C# 绑定问题-MVVM,c#,xaml,mvvm,windows-phone-8,binding,C#,Xaml,Mvvm,Windows Phone 8,Binding,我对整个MVVM组织有一些问题。我有一个由云api提供的AuthenticatedUser。此AuthenticatedUser包含名称、年龄等字段 我想把这些绑定到控件上。我知道我必须创建包含NotifyPropertyChanged的属性才能完成这项工作 因此,我创建了一个包含这些属性的模型,并从AuthenticatedUser返回了字段。问题是AuthenticatedUser正在用时间填充这些字段。因此属性没有以任何方式“设置”,因此绑定也没有通知 下面是一些代码片段: public

我对整个MVVM组织有一些问题。我有一个由云api提供的AuthenticatedUser。此AuthenticatedUser包含名称、年龄等字段

我想把这些绑定到控件上。我知道我必须创建包含NotifyPropertyChanged的属性才能完成这项工作

因此,我创建了一个包含这些属性的模型,并从AuthenticatedUser返回了字段。问题是AuthenticatedUser正在用时间填充这些字段。因此属性没有以任何方式“设置”,因此绑定也没有通知

下面是一些代码片段:

public string Name // I want properties like this to bind to a textblock. The User object(provided by the cloud service) has these as fields. The Problem is that these are also changing so i have to update the binding!
    {
        get { return User.Name; }
    }

使
User
属性实现
NotifyPropertyChanged
,然后在XAML中绑定到
User.Name
。这应该行得通


或者,在设置
User
属性后,您可以手动调用
NotifyPropertyChanged
Name

我认为,您的云api获取AuthenticatedUser需要一些时间,因此您可以在回调方法中的api完成时引发事件。或者,您可以将操作定义为回调,然后绑定属性。

是否愿意共享一些代码,以便我们甚至可以开始了解您的问题?添加了一些代码。问题是没有太多东西可以展示。你对哪一部分有困难?您是否难以确定您的登录尝试何时成功(或失败)以确定何时启动PropertyChanged?如果是这样,那么这是关于云API的问题,而不是关于MVVM的问题。或者您在启动PropertyChanged事件时遇到问题?如果是这样的话,展示你正在尝试的代码,让我们知道你期望它做什么,发生了什么或没有发生什么。这更是一个逻辑问题。我没有权限访问你必须拥有的用户,它是您发布的代码中ViewModel的一个属性是的,但我无法实现NotifyPropertyChanged,因为用户porperty是云SDKSome的一部分,在您的ViewModel中有类似于
public authenticated用户用户{get;set;}
的内容,那么有什么问题吗?但是如何绑定到Name属性呢,在哪里我不能实现NotifyPropertyChanged?这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论-您可以随时在自己的帖子上发表评论,一旦您有足够的评论,您就可以发表评论了。@vape为什么这不能提供问题的答案?所以MVVM模式中最好的方式是简单的事件?