我的应用程序有一对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