WPF 프로젝트의 UI 측에서 작업하고 있습니다. xaml'ing (stackoverflow :) 외에도) 현재 Adam Nathan의 "Windows Presentation Foundation Unleashed"이 내가 가장 좋아하는 참조입니다. 그는 컨트롤 템플릿에 대해 다음과 같은 팁을 제공합니다. "컨트롤 템플릿 내에서 ContentControl을 사용하는 대신 가벼운 ContentPresenter 요소를 사용해야합니다."경량 요소 - 요소의 무게를 어떻게 알 수 있습니까?
내가 함께 작업하는 개발자는 종종 내가 알고있는 모든 xaml'ing에서 가능한 가장 가벼운 요소를 사용하도록 알려줍니다.
내 질문에 대한 답변 : 다른 요소의 상대적 "가중치"가 무엇인지 어떻게 알 수 있습니까? RichTextBox와 TextBox 같은 분명한 것들이 있습니다. 그러나 StackPanel이 작업을 수행 할 수있는 상황에서 Grid보다 더 나은지 여부는 어떻게 알 수 있습니까?
요소/컨트롤의 시각적 트리가 "가중치"를 나타내는 좋은 지표입니까? 내가 뭘 더 볼 수 있니?
미리 감사드립니다.
안녕하세요 아베 첫째로, 감사합니다. 답변 : "... 상속 계층 구조를 확인할 수 있습니다. ContentPresenter는 FrameworkElement에서 파생되지만 ContentControl은 Control에서 파생됩니다." 그래서 Control에서 파생되는 것은 FrameworkElement.Panel에서 파생되는 것보다 "무거운"것입니다. 컨트롤에 많은 기능이 포함 된 컨트롤 템플릿이 있기 때문에? : "그리드 - 가장 융통성이있어서 가장 복잡한 레이아웃 알고리즘을 사용합니다." 즉 유연성은 일반적으로 체중을 나타내는 좋은 지표이기도합니다. (내가 큰 소리로 생각하고있어, 내가 틀렸다면 정정 해!) – cfouche
그래, 나는 당신의 모든 설명에 동의한다. 컨트롤이 템플리트 화되는 것은 실제로 그 컨트롤을 무겁게 만드는 것입니다.컨트롤의 시각적 트리를 글로벌 스타일로 다시 정의 할 수 있으므로 컨트롤 작성자는 추가 할 비주얼이 얼마나되는지 잘 모를 것입니다. –