スタック パネル内の 2 つの子を、目的の位置で要素を削除して追加することで交換しています (挿入メソッド)。ただし、要素を削除して追加すると、メモリ アドレスの問題が発生し、スワップされた要素にアクセスするとすぐにアプリがクラッシュします。 StackPanelで「削除と追加」せずにスワッピングを実現できる他の方法はありますか?
Win8+XAML+C#.
コードスニペット :
UIElementCollection children = stack_map.Children;
int i = children.IndexOf(stack_listView);
StackPanel sp = children[i] as StackPanel;
int j = children.IndexOf(mapPageInstance);
MapPage mp = children[j] as MapPage;
stack_map.Children.Remove(sp);
stack_map.Children.Insert(1, sp);
stack_map のゼロ インデックスから最初のインデックスまで「sp」を配置したいと考えています。
「mapPageInstance」は、カスタム マップ クラス (基本的にマップ) のインスタンスです。