2013-06-18 130 views
0

好的,所以我正在研究使用wpf构建的资产跟踪应用程序。仪表板视图将有一个DataGrid,其中包含数据行和与网格对应的地图。我现在有它的工作,但我觉得它更像是一个黑客 - 并与wpf我应该能够使两个项目同时更新。WPF MVVM DataGrid/Map

当前我所做的是从Web服务获取数据,将其格式化为记录对象,然后绑定到DataGrid。我也采用相同的数据源,并使用DataTemplate创建我的地图图标,位置等。这一切都有效。我不喜欢的是当数据在网格中被过滤时 - 我必须手动循环地图数据并对其进行过滤 - 以匹配网格。网格已经包含我需要的数据(纬度/经度,位置)创建我的地图点。我似乎无法得到两个项目(网格/地图)绑定到相同的来源。

+0

发布相关的代码和XAML,或者一个小的repro项目 –

回答

0

使用ObservableCollection作为您的数据源,但不绑定,因为这将绑定到您的集合的默认视图,将两个控件绑定到您控制的ICollectionView,以便在代码中更改集合视图两个控件都将更新而不需要编写任何代码来同步它们...

因此,在您的情况下,当您过滤数据时,使用双向绑定的视图将会更改,并且由于地图绑定到相同的视图,视图中的更改将立即在地图上可见...