我正在使用實體框架版本4從一個sql ce數據庫中獲取數據的應用程序使用mvvm模式。該WPF應用程序只有一個視圖(不再需要作爲應用程序不是那麼大)。我通過在viewmodel中創建一個observablecollection並綁定它,在數據庫中顯示一個屬性集合。這完全按照預期工作。問題是我現在有另一個列表框(在相同的視圖中),需要爲每個屬性填充圖像。要清楚,每個屬性都有一堆圖像,但每個圖像只分配給一個屬性。我應該使用一個ObservableCollection的圖像
什麼是最好的方式來顯示圖像,我想也許爲圖像創建另一個observablecollection,但我不知道如何確保只顯示相應屬性的圖像。或者我應該簡單地將列表框綁定到每個屬性(房子)的Images屬性?
乾杯
private void Load()
{
PropertyList = new ObservableCollection<Property>((from property in entities.Properties.Include("Images")
select property));
propertyView = CollectionViewSource.GetDefaultView(PropertyList);
if (propertyView != null)
propertyView.CurrentChanged += new System.EventHandler(propertyView_CurrentChanged);
RaisePropertyChanged("CurrentContact");
RaisePropertyChanged("SaleTitle");
RaisePropertyChanged("Address");
RaisePropertyChanged("AuctioneerName");
RaisePropertyChanged("AgentName");
RaisePropertyChanged("Price");
RaisePropertyChanged("NextBid");
RaisePropertyChanged("Status");
}
我想我需要使用可觀察的集合,但如果我錯了,請糾正我。我的程序需要能夠刪除,添加和拖放n個單獨的圖像。只有相應屬性的圖像才能顯示在此框中。我發現難以實現這一點的時候,是我已經添加並將圖像分配給可觀察集合中的一個屬性對象(然後可將其保存到數據庫中)。我知道我可以通過將列表框綁定到圖像列表來顯示它,但我需要能夠檢查當前選擇的圖像,以便能夠將其刪除等。 – randomalbumtitle 2012-04-17 05:17:45
請參閱編輯。在你的情況下,因爲你會單獨添加/刪除圖像,你是正確的 - 你需要使用ObservableCollection。要跟蹤選擇哪個圖像,我已將SelectedIndex屬性添加到ViewModel。你可以將它綁定到(例如)一個WPF ListBox的SelectedIndex屬性來跟蹤當前選擇哪一個。 – Doug 2012-04-18 21:01:00