2011-07-27 2 views
1

안녕하세요.이 질문은 바보 같은 질문 일지 모르지만 약간의 피드백을 찾고있었습니다. WPF 응용 프로그램 개발 팀과 함께 일하는 디자이너입니다. Expression Blend 4를 설치했습니다. WPF/Silverlight를 처음 접했지만 바로 뛰어 들었고 훌륭하다고 생각합니다.WPF 블렌드 도구와 인터페이스 컨트롤 용 손으로 코드화 된 XAML 대

그러나 Expression Blend를 사용할 때 생성 될 수있는 xaml 코드는 때로 지나치게 불쾌 할 수 있음을 알았습니다. 예를 들어 Blend를 사용하는 버튼에 대한 컨트롤 템플릿을 만들었으며 마크 업은 100 줄의 코드와 비슷했습니다. 그런 다음 20 줄 정도의 컨트롤 템플릿을 만들었고 똑같은 일을했습니다. 나는 listview를 위해 똑같은 짓을했는데, ListView 템플릿을 위해 생성 된 코드 양은 엄청났다. 다시 한번, 저는 제 자신의 스타일과 템플릿을 만들었고 그 결과는 xaml 코드가 거의 없었습니다.

우리가 만드는 앱은 꽤 커질 것입니다. 제 질문은, 비록 블렌드 GUI를 사용하여 모든 디자인/인터페이스 요소를 간단히 만들면 성능에 대한 걱정이 될 것입니다. 생성 된 코드가 훨씬 더 광범위 할 수 있습니까? 디자인에 블렌드 도구를 사용하면 훨씬 쉽게 작업 할 수 있지만 웹 사이트를 디자인 할 때와 마찬가지로 Dreamweaver에서는 디자인보기를 사용하지 않습니다. 왜냐하면 생성 된 코드는 전혀 쓸모가 없기 때문입니다.

어떤 통찰력이라도 대단히 감사하겠습니다.

고마워 개인적으로

답변

1

난 단지 내 손으로 작성한 코드의 시각적 표현의 제도 및 실시간 표시의 디자이너를 사용합니다. 생성 된 코드는 끔찍하지 않을 수도 있지만 일단 수동으로 작업을 수행해야하는 경우에는 직접 작성하지 않으면 필요한 모든 것을 찾는 데 어려움을 겪습니다. 또한 블렌드 (코드 생성기가 그 점에서 조정될 수 있는지 모르겠다) 한 번만 사용되는 경우 장소에 둥지를 넣는 동안 꽤 많이 (리소스를 만들려면 & 참조) 블렌드.

템플릿이 크다는 것을 염두에 두어서는 안됩니다. 사용 된 기본 템플릿을 복사하는 경우 상당히 거대하며 실제로는 문제가되지 않습니다.

+0

장소에 물건을 중첩하면 혼잡이 증가하고 가독성이 떨어집니다. 모듈 형 설계는 재사용 성을위한 것만이 아닙니다. –

+0

@HasanKhan : 워크 플로우를 방해하지만 (참조해야하는 리소스를 찾아야하기 때문에) 오브젝트 레이아웃이 선형이되면 (동일한 레벨에서 다른 리소스를 따라 하나씩) 다시 찾기가 더 어려워집니다. –

1

단추에 대해 생성 한 컨트롤 템플릿이 Blend에서 복사 한 기본 템플릿과 실제로 똑같지는 않았을 것이라고 추측합니다. 당신은 그랬다고 생각할지도 모르지만, 나는 그것이 뭔가를 놓치고 있었다고 생각하고 있습니다. 예를 들어 템플릿에서 버튼에 의해 사용되는 all 9 visual states을 처리 했습니까? XAML이 20 라인 밖에없는 경우에는 그렇지 않습니다. 그리고 네, ListView 컨트롤 템플릿은 커버 아래 꽤 복잡한 컨트롤이기 때문에 꽤 큽니다.

일반적으로 큰 컨트롤 템플릿을 생성하는 것에 대해 걱정하지 않습니다. 그것은 일어날 것입니다. 런타임은이를 일반적으로 잘 처리합니다. Dreamweaver와 달리 Blend는 일반적으로 꽤 좋은 코드를 제공합니다. 비주얼 스튜디오에서 빌드 작업을 임베디드 리소스로 설정하는 것과 같은 잘못된 방법으로 리소스 사전을 오용하면 성능이 문제가됩니다. (이것은 컴파일 시간 대신 컴파일시에 컴파일되고 컴파일되어야하는 느슨한 XAML 파일을 생성합니다.)

당신의 온전함을 유지하기위한 열쇠는 조직입니다. 웹 사이트와 마찬가지로, 컨트롤 템플릿을 저장하는 방법에 대한 조직 체계가 필요합니다.

+0

네 말이 맞아, 내 컨트롤은 모든 트리거/시각 상태를 고려하지 않았다.내가 한 일은 객체/타임 라인 패널의 버튼을 마우스 오른쪽 버튼으로 클릭하고 템플릿 편집 -> 복사본 편집을 클릭하면 모든 Microsoft 기본 테마 코드 선언을 소개하는 블렌드가 나와 물어 보면 꽤 왜곡되었습니다. 너무 조직적이지 않고, 내가 만든 것은 실제 모습을 고려했을 뿐더러 훨씬 조직적이었습니다. 하지만 당신은 정당함을 유지하는 것이 옳다. 내 스타일/템플릿을 관리하기위한 체계적인 체계가 있다고 생각한다. – kdub

+0

처음에는 기본 컨트롤 템플릿이 매우 왜곡되어 보입니다. 일단 당신이 잠시 동안 그것을 해왔 으면 그것은 이해되기 시작합니다. 예를 들어 버튼 템플리트를 읽고 이해할 수 있습니다. ListView 템플릿은 너무 커서 내 머리 속에 들어갈 수 없습니다. 하지만 블렌드 (Blend)가 실제로 빛나는 곳입니다. 기본 단추 템플릿을 생성 한 다음 States (상태) 탭으로 이동하십시오. 자세한 정보가 나와야합니다. :) –