원하는 위치에 요소를 추가하고 추가하여 스택 패널 내부에서 두 자식을 교체하고 있습니다 (삽입 방법). 그러나 요소를 제거하고 추가하면 메모리 주소 문제가 발생하고 요소에 액세스하자마자 응용 프로그램이 중단됩니다. StackPanel에서 "제거 및 추가"를하지 않고도 바꿀 수있는 다른 방법이 있습니까?StackPanel에서 자식 순서를 변경 하시겠습니까? Win8
Win8 + XAML + C#.
코드 :
내가 stack_map의 첫 번째 인덱스 제로 인덱스에서 'SP'를 배치 할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.Children.Remove(stack_listView);
stack_map.Children.Insert(1, stack_listView);
:
'mapPageInstance는'난 그냥 다음을 사용하십시오, 위의 StackPanel의 요소를 교환하려면 사용자 지정지도 클래스 (기본적으로지도)
이 문제를 표시하는 코드를 게시 할 수있는 이름이 아닌 인덱스로 StackPanel의 항목에 계속 액세스 할 경우 스왑 후 문제/메모리 오류가 없도록해야합니까? 요소를 제거하고 다시 삽입해도 문제가 발생하지 않습니다. –
편집 및 추가 된 스 니펫. – Suny