사용자가 다양한 양식 요소를 선택하고 드래그 할 수있는 양식이 있습니다. 사용자가 양식의 레이아웃을 사용자 정의 할 수 있으므로 캔버스를 사용하고 있으며 모든 요소는 하위 요소입니다.WPF에서 최상위 컨트롤 만들기
두 요소가 캔버스의 자식으로 마지막으로 추가 된 것과 같은 영역에있는 경우 위에 그려집니다. 드래그 된 활성 요소가 최상위 요소로 설정되도록 만들 수 있기를 원합니다.
나는 SetZOrder 메서드를 사용하여 0으로 설정했지만 아무것도 수행하지 않습니다. 검사시 GetZOrder를 호출하는 모든 요소에 대해 각각 0을 얻습니다. 따라서 0으로 설정하면 차이가 발생하지 않습니다.
내가 찾은 유일한 해결책은 제거하고 캔버스에 요소를 추가하는 것입니다.
_mainCanvas.Children.Remove(_selectedElement);
_mainCanvas.Children.Add(_selectedElement);
이것이 작동하는 동안, 나는 이것을하는 것이 더 바람직하고 적절한 방법이어야한다고 느낍니다.
조쉬 스미스 (Josh Smith)가이 기사를 보았습니까? http://www.codeproject.com/KB/WPF/DraggingElementsInCanvas.aspx –