очистка картыItemsControl.Itemtemplate WP7 Maps - PullRequest
0 голосов
/ 02 августа 2011

Привет, я постоянно обновляю эту карту, и я заметил, что ее элементы накапливаются, а не просто обновляются все элементы, например

Я передаю ему элементы 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>

Ответы [ 2 ]

2 голосов
/ 02 августа 2011

Просто позвоните LocationItems.Clear().Если LocationItems является ObservableCollection, карта с удалением уже визуализированных элементов.

Нет никаких причин для прямого доступа к пользовательскому интерфейсу при использовании привязок данных.

2 голосов
/ 02 августа 2011

ItemTemplate определяет внешний вид и общее поведение элемента управления - это не сам элемент управления.Поэтому вы должны смотреть на саму коллекцию, а не на шаблон.Чтобы очистить существующий ItemCollection, вам необходимо:

mapz.Items.Clear();
...