0

UWP アプリ (Windows 10) 内に があり、そのマップのオーバーレイを配信するためにMapControl使用しています。MapItemsControlその(ItemsSourceMapItemsControlあるObservableCollection) は xaml 経由でバインドされていますが、一方向にしか機能していません。

そのコレクションへのアイテムの追加は正常に機能しており、それらのアイテムもそのコレクションに表示されていMapControlます。そのコレクションへのアイテムの削除も機能しますが、そのコレクション内でのみ機能しているように見えます-私の視覚的表現はMapControl要素の削除に反応しません。これにより、そのマップにアイテムが無限に追加される可能性がありますが、アイテムが削除されることはありません。

ObservableCollection頻繁に ( 経由で) 静かに更新さMapControl.ZoomLevelChanged-Eventれ、そのプロセスでクリアおよび再入力されます。これは問題になる可能性がありますか?

xaml によるバインドは次のようになります。

 <maps:MapControl
    HorizontalAlignment="Stretch"
    VerticalAlignment="Stretch"
    [...]>
    <maps:MapItemsControl ItemsSource="{x:Bind Path=MapDirectionOverlay, Mode=OneWay}"/>
</maps:MapControl>

助言がありますか?

4

2 に答える 2

0

Clear-Methodを使用してもうまくいかなかったので、別の remove-method を使用してみましたがObservableCollection、最終的にはうまくいきました。

結局、これは私が使用している回避策です:

private new void Clear()
{
    for (int i = this.Count - 1; i >= 0; i--)
    {
        this.RemoveAt(i);
    }
}

結局、私はまだ得ていませClearNotifyCollectionChangedAction. (間違っていたら訂正してください)

于 2017-01-04T08:15:36.007 に答える