我的應用程序有一對ObservableCollections,它嵌套在另一個的元素中。每個包含許多字段,例如ListBox與全局索引綁定
ObservableCollectionA(稱爲人數)
- 標題
- 說明
- 地址
- 圖像爲MediaItems
ObservableCollectionB(稱爲MediaItems)
- ImageName
- 的Src
- DisplayTime
目前,我已經訪問ObservableCollections如下:
Listings(0).MediaItems(0).ImageName
我的應用程序的主窗口中顯示從清單中的項目和一個用戶控件,其包含一個顯示MediaItems項目的ListBox。
目前我的窗口,勢必在新的方法中使用代碼編目:
Dim AppLocal As Program = Application.CurrentItem
AppLocal.CurrentItem = 0
Me.DataContext = Listings.Item(AppLocal.CurrentItem)
對於房源的ObservableCollection,用戶控件有一個XAML的DataContext它引用從嵌套MediaItems的ObservableCollection拉記錄的本地方法。
<UserControl.DataContext>
<ObjectDataProvider ObjectType="{x:Type local:ThumbImageLoader}" MethodName="LoadImagesv2" IsAsynchronous="True" />
</UserControl.DataContext>
<Grid x:Name="ThumbListBoxGrid">
<ListBox x:Name="ThumbListBox" ItemsSource="{Binding}" IsSynchronizedWithCurrentItem="True" />
</Grid>
的方法是在這裏:
Public NotInheritable Class ThumbImageLoader
Public Shared Function LoadImagesv2() As List(Of MediaItems)
Dim AppLocal As Program = Application.Current
Dim ThumbImages As New List(Of MediaItems)
ThumbImages = Listings(AppLocal.CurrentItem).MediaItems
Return ThumbImages
End Function
End Class
雖然開發UI佈局我剛纔已裝訂的第一項(0指數)。我現在希望能夠從應用程序中的任何位置設置AppLocal.CurrentItem,以便更新Window和ListBox。
理想情況下,我希望它在全局屬性索引更改時更新UI。
我該怎麼做?
有沒有更好的方法去解決它?
本
感謝您的建議AngelWPF - 我最終以略有不同的東西去。我會很快發佈結果。 – Ben