2010-01-21 3 views
1

WPF tabcontrol에 대한 새 컨트롤 템플릿을 만들려고합니다.WPF TabControl ControlTemplate

내가 가진 상황은 컨트롤에 여러 개의 탭이 있으며 사용자가 이러한 탭을 추가하거나 삭제할 수 있다는 것입니다.

Firefox/IE 탭의 라인을 따라 무언가를 만들려는 것이 이상적입니다. 현재 탭을 삭제하기 위해 탭 제목 안에 삭제 버튼이 있습니다.

또한 다소 복잡해지기 때문에 항상 tabcontrol의 마지막 탭의 오른쪽에있는 새 탭 버튼이 필요합니다.

누구나 시작 방향을 알려줄 수 있습니까? Blend를 사용하여 새로운 템플릿을 만드는 사람들의 예를 보았습니다. 지금까지 나는 그것을 사용하지 않았지만 시험판을 다운로드했습니다 ...

고마워.

답변

1

와 기본적인 갈 수는 더 복잡하다. 주요 문제는 ItemsPresenter/TabPanel의 올바른 위치에 나타나기를 원하지만 실제로 TabItem이 아니기 때문에 ItemsPresenter를 구동하는 컬렉션의 일부가 아니라는 것입니다. 나는 과거에 ItemsContresenter의 오른쪽에 버튼을 붙이기 위해 TabControl 자체의 ControlTemplate을 수정하여이 작업을 수행했지만 단추가 isn 이후 탭이 두 번째 행에 충돌하는 상황에서 이상한 모양으로 끝날 수 있습니다 TabPanel 레이아웃의 일부.

0

TemplateSelector를 사용하는 것은 어떻습니까?

일반 탭 항목과 "새 탭 버튼"을위한 두 개의 다른 템플릿을 만듭니다. 둘 다 실제로는 탭 항목이지만 TemplateSelector의 조건에 따라 다른 템플리트가 있습니다.

다른 동작을 수행하려면/"새 탭 단추"를 식별하려면 코드가 지정된 템플릿을 체크 인하십시오.

희망이 조금 있습니다.

1

다음 문서를 사용해보십시오. 둘 다 맞춤 탭 컨트롤을 작성하는 데 도움이되었습니다.

1. Code Project: An Extended Tab Control

2. WPF TabControl Series

첫 번째 링크

는 정말 좋은 전체 사용자 지정 솔루션을 제공하지만 나는 그것이 약간 처음에는 발굴 발견했다. 두 번째 링크는 탭 컨트롤을 다시 템플리트하는 데 필요한 4 가지 기사를 제공합니다.