Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.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
Data binding Windows8中的XAML模板绑定_Data Binding_Windows 8_Datatemplate - Fatal编程技术网

Data binding Windows8中的XAML模板绑定

Data binding Windows8中的XAML模板绑定,data-binding,windows-8,datatemplate,Data Binding,Windows 8,Datatemplate,我正在浏览Windows应用商店示例应用程序XAML Twitter Client 1,以便在我自己的应用程序中获得相同的功能。但我无法在1对1的示例页面中完成绑定工作 这是我用来显示朋友的网格: <GridView x:Name="FriendsGrid" Grid.Row="2" Grid.Column="1" HorizontalAlignment="Left"

我正在浏览Windows应用商店示例应用程序XAML Twitter Client 1,以便在我自己的应用程序中获得相同的功能。但我无法在1对1的示例页面中完成绑定工作

这是我用来显示朋友的网格:

  <GridView x:Name="FriendsGrid" 
                  Grid.Row="2" 
                  Grid.Column="1" 
                  HorizontalAlignment="Left" 
                  VerticalAlignment="Top" 
                  Margin="10,10,0,0"
                  ItemsSource="{Binding Friends}" 
                  ItemTemplate="{StaticResource FriendItemTemplate}" 
                  Grid.ColumnSpan="2">
        <GridView.DataContext>
            <Model:FriendsViewModel/>
        </GridView.DataContext>
然后我填充模型,在应用程序中,我看到的项目数和我添加的项目数完全相同,但项目是空的。使用debug,我看到该模型不是空的。 另外,当我在模板中硬编码值时,它们是可见的


我忘了在模型的属性中添加getter和setter。最初,我有这样的想法:

public double Uid;
然后我添加了{get;set;}

[DataContract]
public class Friend
{
    [DataMember(Name = "uid")] 
    public double Uid { get; set; }

    [DataMember(Name="first_name")]
    public string FirstName { get; set; }

    [DataMember(Name="last_name")]
    public string LastName { get; set; }

    [DataMember(Name="online")]
    public bool Online { get; set; }

    [DataMember(Name = "photo")]
    public string Photo { get; set; }

    public ImageSource RealPhoto { get; set; }
}

我忘了将getter和setter添加到模型的属性中。最初,我有这样的想法:

public double Uid;
然后我添加了{get;set;}

[DataContract]
public class Friend
{
    [DataMember(Name = "uid")] 
    public double Uid { get; set; }

    [DataMember(Name="first_name")]
    public string FirstName { get; set; }

    [DataMember(Name="last_name")]
    public string LastName { get; set; }

    [DataMember(Name="online")]
    public bool Online { get; set; }

    [DataMember(Name = "photo")]
    public string Photo { get; set; }

    public ImageSource RealPhoto { get; set; }
}

要查看视图模型中的更改,需要实现
INotifyPropertyChanged
。执行此操作的一部分是在属性的值更改时对其调用
NotifyPropertyChanged

要查看视图模型中的更改,需要实现
INotifyPropertyChanged
。执行此操作的一部分是,如果属性的值更改,则对其调用
NotifyPropertyChanged

是否实现了INotifyPropertyChanged?FriendsGridViewModel具有ObservableCollection属性,因此它实现了属性更改事件。但是您帮助我找到了错误:在我的模型中忘记添加getter和setter:((您是否实现了INotifyPropertyChanged?FriendsGridViewModel具有ObservableCollection属性,因此它实现了属性更改事件。但是…您帮我找到了错误:在我的模型中忘记添加getter和setter:((我添加了我的评论作为答案。