clearing a mapItemsControl.Itemtemplate WP7 Maps

本文关键字:WP7 Maps Itemtemplate mapItemsControl clearing | 更新日期: 2023-09-27 18:04:18

我经常更新这个地图,我注意到它会累积项目,而不是刷新所有项目,例如

我通过mapz向它传递项。ItemsSource = App.ViewModel.LocationItems;在此之前,我如何清除mapz中的现有项目?

  <my:Map x:Name="myMap" Height="480" Width="444" CredentialsProvider="NON YE BIZ" 
                        Grid.ColumnSpan="1" LogoVisibility="Collapsed" CopyrightVisibility="Collapsed" Margin="5,0,10,0" VerticalContentAlignment="Top" HorizontalContentAlignment="Left" >
                    <my:MapItemsControl x:Name="mapz" ItemsSource="{Binding LocationItems}" Width="450">
                        <my:MapItemsControl.ItemTemplate>
                            <DataTemplate>
                                <my:Pushpin Name="MyPushPin" Location="{Binding Target_Coordinate}" Content="{Binding Target_NickName}"/>
                    </DataTemplate>
                </my:MapItemsControl.ItemTemplate>
                </my:MapItemsControl>
                </my:Map>

clearing a mapItemsControl.Itemtemplate WP7 Maps

直接调用LocationItems.Clear()。如果LocationItems是ObservableCollection,则地图将清除已经渲染的项目。

使用数据绑定时根本没有理由直接访问UI

ItemTemplate定义控件的外观和一般行为-它不是控件本身。因此,您必须查看集合本身,而不是模板。要清除现有的ItemCollection,您需要这样做:

mapz.Items.Clear();