Data binding Windows8中的XAML模板绑定
我正在浏览Windows应用商店示例应用程序XAML Twitter Client 1,以便在我自己的应用程序中获得相同的功能。但我无法在1对1的示例页面中完成绑定工作 这是我用来显示朋友的网格: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"
<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:((我添加了我的评论作为答案。