我似乎无法得到这个问题的直接答案。我正在尝试在代码后台设置项源。这在Xaml中很容易实现,但在代码后台似乎并不那么简单。
在代码后台中,我使用的是:
Binding listbind = new Binding("routeLabels") {Source=this};
listviewofroutes.ItemsSource = SetBinding(ListView.ItemsSourceProperty, listbind);
这只会抛出一个“无法将void转换为System.Collections.IEnumerable”的错误,我认为这不正确。
我试图将其绑定到视图模型中的可观察集合。
视图模型:
private ObservableCollection<RouteInfo> _routelabels;
public ObservableCollection<RouteInfo> routeLabels
{
get { return _routelabels; }
set
{
if (Equals(value, _routelabels)) return;
_routelabels = value;
OnPropertyChanged(nameof(routeLabels));
}
}
当在Xaml中设置绑定时,此绑定可以正常工作。问题不在于可观察集合,而是我不知道如何在代码后台设置绑定。
概要:
我需要知道如何执行此操作(itemsource绑定):
<ListView x:Name="listviewofroutes" ItemsSource="{Binding routeLabels}">
</ListView>
在代码后台。
任何帮助都将不胜感激。