当显示我的主窗口时,我列出了来自 linq-to-sql 的对象:
using (var context = new Data.TVShowDataContext())
{
Shows = new ObservableCollection<Data.Show>(context.Shows);
listShows.ItemsSource = Shows;
}
现在,当我双击列表中的一个项目时,我想在新的用户控件中使用选定的对象:
ShowEpList epList = new ShowEpList();
epList.DataContext = (Data.Show)listShows.SelectedItem;
现在,这会导致异常:
System.ObjectDisposedException 未处理
Message="无法访问已释放的对象。\r\n对象名称: 'DataContext 在 Dispose 之后访问。'。"
Source="System.Data.Linq"
ObjectName="Dispose 后访问的 DataContext。"
我想这是将列表绑定到节目季列表的结果,并且需要填充季列表或其他内容:
<ListBox Name="listSeasons" ItemsSource="{Binding Seasons}"/>
现在,我想知道,这应该怎么做?我是否需要创建一个新的 DataContext 对象并再次检索选定的节目,或者是否可以使用新的数据上下文重新连接我的节目以填充季节列表?
我想我有点迷路了......