2010-05-30 8 views
0

UserControl 일부 동작 (애니메이션 축소 중 ...) 및 일부 컨트롤 (주로 Rectangle, Ellipse, 주로 디자인 용도로 사용)을 만들고 싶습니다.WPF의 격자 인 UserControl

그러나 나는 Grid과 같은 유효한 Panel이어야하므로 기본 창을 디자인 할 때 더 많은 컨트롤을 넣을 수 있습니다. 주 창 디자인 시간에 새 USerControl에 추가 할 컨트롤은 UserControl을 만들 때 추가 된 구성 요소와 상호 작용할 필요가 없습니다.

어떻게해야합니까? Control을 확장해야합니까? 나는 단지 UserControl을 확장하고 싶다.

+0

이 질문은 명확하지 않습니다. 나는 시간이있을 때 그것을 다시 쓰려고 노력할 것이다. – drasto

답변

0

내가 찾고있는 것은 ContentPresenter 클래스와 종속성 속성을 조합 한 것입니다. 주제에 대한 자세한 내용 here 또는 here. 또는 this google search을 시도하십시오.

1

UserControlContent 속성을 갖는 ContentControl이며 일반적 ContentTemplate에 따라 표시. 내가 가리키고있는 점은 UserControl 안에 1 개의 항목이 있다는 것입니다. 물론 에 Children 속성을 추가하고 하위 항목을 컨트롤 내부의 Grid 내부 일부에 추가/제거하는 것을 처리 할 수 ​​있지만 콘텐츠 컨트롤이 적용되지 않습니다.

많은 항목을 호스팅하려면 언급 한대로 Grid과 같은 Panel의 하위 클래스를 사용해야합니다. 모든 패널에는 요소 목록이 배열 된 Children 속성이 있습니다. 당신은 Grid을 상속하고 거기에 어떤 행동을 할 수 있습니다. 예 : 확장 속성 MyGrid.Collapsed을 만들 수 있습니다. 그리드 내의 요소에 설정하여 위치를 정렬 할 수 있습니다.

또 다른 옵션은 서브 클래스 ItemsControl입니다. 배치 된 요소는 ItemsPanel 템플릿에 따라 표시됩니다. 이 방법은 속성의 이점을 제공하므로 ItemTemplate 속성을 사용하여 임의의 데이터 형식 목록을 표시하는 데 사용할 수 있습니다.