【发布时间】:2014-04-15 20:12:02
【问题描述】:
我一直在网上搜索(包括堆栈溢出)来解决这个问题。我目前遇到的问题是我将我的数据错误地绑定到我的视图。当用户第一次导航到主页时,GridView 什么也不显示。当我转到另一个页面然后返回主页时,将显示列表,但它填充了字符串“MyProject.Model.MyTask” p>
我知道问题不在于我的模型或视图模型,因为我能够正确检索包含内部数据的列表。一个问题可能与我在视图模型中的等待调用有关。关于将我的列表绑定到 GridView 时我做错了什么有什么想法吗?
视图模型
public HomeViewModel(IDataService dataService, INavigationService navigationService) _dataService = dataService;
_navigationService = navigationService;
Initialize();
}
private async Task Initialize() {
MyTasks = await ApiHandlker.GetMyTasks();
}
private List<MyTask> _myTasks;
public List<MyTask> MyTasks {
get { return _myTasks; }
set { _myTasks = value; }
}
型号
public class MyTask {
public string TaskID { get; set; }
public string TaskName { get; set; }
public string TaskAssigneeID { get; set; }
//...
}
查看
<GridView x:Name="gridViewMyTasks" ItemsSource="{Binding MyTasks}">
<TextBlock Text="{Binding TaskName}"></TextBlock>
</GridView>
【问题讨论】:
-
MyTask 的属性命名有点冗余。对我来说,GridView 上也不存在 ItemsSource。你确定这是你的代码吗?
-
@Measuring OP 在 WinRT XAML 下。 WPF
GridView只是View的ListView。 -
@HighCore 啊,请原谅我。感谢您清理它。
标签: c# gridview windows-store-apps winrt-xaml mvvm-light