2010-12-22 5 views
3

내가해야 할 일은 전체 캔버스를 채우기 위해 컨트롤을 늘리는 것입니다. 캔버스를 사용해야한다고 생각합니다. 컨테이너 외부에서 렌더링 할 때 내 컨트롤을 잘라내려는 것이 아니라 - 다른 모든 컨테이너를 알고있는 한 클리핑 수행 - 그리드, 테두리 ... - 아마도있을 수 있습니다. 다른 솔루션?)Silverlight에서 Canvas를 채우기 위해 컨트롤을 어떻게 확장합니까?

Canvas 내부에 컨트롤을 넣으면 제대로 작동합니다 (클리핑되지 않았 음). 그러나 전체 캔버스를 채우지는 않습니다. 캔버스 너비와 높이에 바인딩하려고했는데 결과가 없습니다.

아이디어 나 단서가 있습니까?

미리 감사드립니다.

+0

방금 ​​Kaxaml에서 테스트했는데 Grid는 기본적으로 ClipToBounds를 true로 설정하여 클립 할 수 있지만 기본적으로 자식을 클립하지 않습니다. –

+0

@Joe, 나는 Grid를 사용하려고 시도하고 있었고 항상 컨트롤이 끊어졌습니다. 예를 들어 코드 스 니펫을 제공해 주시겠습니까? – Jamie

+0

다음은 시도한 XAML입니다 :'Grid Width = "80"Height = "50"Background = "Red">

답변

2

컨트롤은 음수 여백을 사용하여 Border 또는 Grid과 같은 컨테이너를 벗어날 수 있습니다. 따라서 아마도 Grid을 사용하여 열과 행 정의를 사용하여 배치하고 필요에 따라 음수 여백을 사용하여 재생해야합니다.

+0

변경할 수있는 (컨트롤이 확장 된) 지정된 높이의 컨트롤을 배치하고 전체 컨트롤 (원래 컨트롤의 영역 + 확장 된 영역)을 계속 표시하려고합니다. – Jamie

+0

@ Jamie : 선택을해야합니다. 수동으로 컨트롤을 배치하고 크기를 조정 하시겠습니까? 아니면 Grid 시스템의 도움이 필요합니까? 내용을 크기를 늘리려면 "그리드"에 고정 된 크기가있는 이유는 무엇입니까? 왜 그리드를 내용의 전체 크기로 만들지 않을까요? – AnthonyWJones

관련 문제