如何解决Xamarin MVMM ListView不绑定
我正在尝试在Xamarin Forms应用程序中将简单的项目集合加载到ListView中。 ListView在.xaml中定义为具有对Items
的绑定。
ViewModel使用LoadItems
的命令,该命令应在调用OnPropertyChanged
时更新列表的内容。
我不知道哪里出了问题?
Debug.WriteLine()
被调用,所以我知道命令正在运行
谢谢
ListPage.xaml
<ListView x:Name="MyList" ItemsSource="{Binding Items}">
<ListView.ItemTemplate>
<DataTemplate>
<StackLayout Padding="10">
<Label Text="{Binding Text}" LineBreakMode="NoWrap" />
</StackLayout>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
ListPage.cs
public ListPageViewModel()
{
Title = "List Page";
Task.Run(async () => await LoadItems());
}
public ObservableCollection<Item> Items = new ObservableCollection<Item>();
public async Task LoadItems()
{
Debug.WriteLine("commanded to load items");
var items = new ObservableCollection<Item>();
items = new ObservableCollection<Item>()
{
new Item { Id = Guid.NewGuid().ToString(),Text = "Second item",Description="This is an item description." },new Item { Id = Guid.NewGuid().ToString(),Text = "First item",Description="This is an item description." }
};
Items = items;
OnPropertyChanged(nameof(Items));
}
Item.cs
public class Item
{
public string Id { get; set; }
public string Text { get; set; }
public string Description { get; set; }
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。