我通过在所需位置(插入方法)删除和添加元素来交换堆栈面板内的两个子项。但是删除和添加元素会导致内存地址问题,并且一旦我访问被交换的元素,应用程序就会崩溃。是有没有其他方法可以实现交换而无需在 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);
我想将'sp'从零索引定位到stack_map中的第一个索引。
'mapPageInstance' 是自定义地图类的实例(基本上是地图)