2009-12-08 4 views
1

실버 라이트 앱에 몇 가지 아코디언이 있습니다 (아코디언의 아코디언조차도!)하지만 레이아웃이 제 정신이 아니 었습니다.AccordionItem의 너비/높이에 맞게 격자를 늘입니다.

예를 들어, 500x500 아코디언이 있다고 가정합니다. 3 개의 AccordionItem이있는 경우 "Content"영역은 Accordion의 높이/너비와 동일하며 MINUS는 각 머리글의 너비/높이에 보유한 항목 수를 곱한 값입니다. 내가 추가하거나 항목을 제거하면

, 나는 내가 수동으로 각 AccordionItems 콘텐츠의 결과 크기로 그리드를 설정하여 오른쪽으로 항목을 고정하거나 각 AccordionItem의 왼쪽을하려면 다시 시작해야합니다.

이 방법이 있습니까?

답변

6

매우 간단하게 수행 할 수 있습니다. AccordianItem 요소에서 HorizontalContentAlignment 및 VerticalContentAlignment를 "Stretch"로 설정하면 해당 내용이 사용 가능한 공간을 채우기 위해 늘어납니다.

간단한 예를 뻗어 및 연신 된 콘텐츠를 보여주는 :

<controlsToolkit:Accordion Width="500" Height="500"> 
     <controlsToolkit:AccordionItem HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"> 
      <Grid Background="Bisque"> 
       <TextBlock Text="I will be in a grid that fills the accordianitem"></TextBlock> 
      </Grid> 
     </controlsToolkit:AccordionItem> 
     <controlsToolkit:AccordionItem> 
      <Grid Background="Aqua"> 
       <TextBlock Text="My Grid will only be the size of this text"></TextBlock> 
      </Grid> 
     </controlsToolkit:AccordionItem> 
</controlsToolkit:Accordion> 
+1

내가 대해 아무 생각이없는 작은 것들 ... 나는 맹세합니다. –

+0

그러나 나는이 대답을 크게 고맙게 생각하지만, 아직 예를 발견하지 못했고 Accordion 컨트롤을 사용하고 컨텐츠의 크기를 조정하는 것이 사용하기 쉬운 컨트롤이어야하는 머리카락이되어 버렸다. – RyBolt

+0

"나는 거의 모른다 ... 나는 맹세한다." +1! – JeremyK