2011-09-11 2 views
1

이 문제가 발생하지 않는다고 나쁘다. 그러나 측정 통과에 관한 여러 기사를 읽고 패스를 준비하고 여러 개의 작은 프로그램을 작성했지만이 작업에 여전히 어려움이 있습니다.사용자 컨트롤의 크기를 올바르게 조정하려면 어떻게해야합니까?

모든 사용자 정의 컨트롤은 "최소 크기"를가집니다 (이후에는 전체 비트 맵으로 축소하거나 스크롤 막대를 추가하는 것이 가능한 유일한 솔루션입니다). 그것은 또한 그것에 추가 스크린 부동산을 사용하는 방법이있을 것입니다.

타원은 최소 크기가 없으며 크기가 0으로 축소 될 수 있습니다.

  • 그들에게 균일 한 (40)의 "최소 크기를"강제 확인 :

    그래서,이 예를 다음과 같은 효과를 달성하기 위해 추가하는 데 필요한 XAML 코드의 최소 금액이 무엇인지

    <Grid> 
        <StackPanel Orientation="Horizontal" Height="20"> 
         <Ellipse Fill="Blue"/> 
         <Ellipse Fill="Green"/> 
         <Ellipse Fill="BlueViolet"/> 
        </StackPanel> 
    </Grid> 
    

    을 고려 동적으로 크기를 동적으로 조정합니다.

  • 강제로 "최소 크기"의 40을 균일하게 만듭니다. 그리고 동적으로 크기를 조정하여 비 균일하게 크기를 조정합니다 (실제로는 늘릴 수는 있지만 40/40 이하로 크기를 조정하지는 않습니다).
  • 힘을 최소 높이로 설정하고 사용 가능한 너비까지 늘립니다.
  • 스택 패널의 일정한 높이에 균일하게 맞 춥니 다.
  • 스택 패널을 컨테이너의 동적 높이를 채우도록 늘립니다.

감사합니다.

답변

1

대부분의 경우 StackPanel 대신 하나의 열과 함께 UniformGrid을 사용하려고합니다. 크기를 강제 적용하려면 MinHeightMinWidth을 설정하는 Style을 사용하십시오. 균일 성이 "단방향"으로 보장되면 WidthActualHeight에 바인딩 할 수 있습니다.

+0

가로를 맞추기 위해 한 행을 의미합니까? – Paparazzi

+0

@BalamBalam : 나는 당신이 무슨 뜻인지 모르겠다 ... (또한 나는 OP에 대해서도 잘 모르겠다. 그것들은 많은 szenarios 다.) –

+0

@BalamBalam : 예. 1 행 설정은 스택 패널의 수평 방향 설정을 모방하는 것입니다. – Tormod

관련 문제