好的,這對我來說是個頭疼的問題。我有一個列表框,我像這樣綁定到LINQ查詢:將項目添加到綁定的WPF列表框
private IQueryable<Feed> _feeds;
public IQueryable<Feed> Feeds
{
get
{
if (_feeds == null)
{
var feedsQuery = from f in _db.Feed orderby f.Title select f;
_feeds = feedsQuery;
}
return _feeds;
}
}
public Options()
{
InitializeComponent();
this.DataContext = Feeds;
}
(根據記錄,我也試過列表,而不是IQueryable的)
一切都顯示了偉大的,我有一個數據綁定形式允許您編輯一條記錄,所有這些更改都可以正常工作,修改後的數據顯示在列表中。
問題出在我添加一個項目。列表中沒有顯示任何內容。數據正常進入數據庫,但查看數據的唯一方法是關閉並重新啓動我的應用程序。我使用下面的代碼爲例:
Feed feed = new Feed()
{
ID = Guid.NewGuid(),
Url = "http://www.test.com",
Title = "Test"
};
_db.Feed.InsertOnSubmit(feed);
_db.SubmitChanges();
_db.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues);
(帶或不帶_db.Refresh沒有任何反應)
這是怎麼回事?
使用ObservableCollection將不足以解決問題,需要再次對數據庫運行查詢 – 2009-08-20 16:03:29