2013-10-17 2 views
2

내가 현재 일하고 있어요하는 항목의 목록을 포함하는 응용 프로그램은, 각 항목은 다양한 소스 (트위터, 페이스 북, 이메일 요법 ..)는 WPF 경로 중복

각을에서 사용자에게 보낸 메시지를 나타냅니다 항목에는 사용자가 메시지의 출처를 식별하는 데 도움이되는 작은 벡터 그래픽 (경로)이 있습니다. 생성되는 경로의 새로운 인스턴스를 야기 공유 = "거짓"속성 : 제대로 나는 그것이 X와 자원의 표시 한 각 항목에 표시이 벡터 이미지를 얻기 위하여

enter image description here

모든 메시지.

이 모든 것이 제대로 작동하지만 같은 경로의 여러 인스턴스를 만드는 것이 낭비처럼 느껴질 수는 없습니다. 항목이 크기가 변경되어 벡터 이미지가 필요하므로 비트 맵을 사용할 수 없습니다.

내 질문은 : 경로 개체의 새 인스턴스를 생성 할 필요없이 동일한 리소스에서 여러 경로를 제시하는 더 좋은 방법이 있습니까?

+4

Path의 Geometry를 리소스로 저장 한 다음 개별 Path 인스턴스의 Data 속성에서 해당 리소스를 참조하는 것이 좋습니다. –

+0

.Net Reflector를 사용하면 Stretch 속성을 System.Windows.Media.Stretch.None 이외의 다른 것으로 설정하면 Shape (Path for base)가 도형을 복제하는 것처럼 보입니다. 나는 생각하기에 메시지 당 2 개의 데이터 대신에 1 개의 데이터 복사본만을 얻는다는 것을 의미합니다. – Andy

답변

0

나는 나쁜 설계 또는 구현이라고 생각하지 않습니다. PathUIElement이므로 Parent (make x : Shared = false)의 이유 중 하나만 사용할 수 있으며 벡터 그래픽을 사용하려면 경로를 사용해야합니다. 그래서 각 학부모는 자체 경로 인 UIElement을 갖게됩니다.

데이터 입력을위한 입력 컨트롤이 여러 개인 양식이 있고 각 데이터 세트를 저장하기위한 버튼이 여러 개인 경우이 방법을 생각해보십시오. 이 경우 모든 자식 단추가 "저장"되는 경우에도 많은 경우 자식 단추가 생깁니다. 그래서 비슷한 형상을 가진 Path의 여러 인스턴스가 문제라고 생각하지 마십시오.