2013-06-03 1 views
1

저는 Windows Store App에서 작업하고 있습니다. XAML 개발이 처음입니다.XAML의 '*'가 항상 예상대로 작동하지 않는 이유는 무엇입니까?

그리드 내의 일부 요소를 서로 상대적으로 크기를 조정하려고합니다. 이런 질문을 한 후에 (What does the WPF star do (Width="100*")) 나는 모든 것을 알아 냈다고 생각했다. 다음 예제는 내가 예상 한 것을하지 않는 것 같습니다.

왼쪽에 'Foo'가 표시되고 오른쪽에 '바'가 표시되는 대신 (Foo 열의 크기가 여섯 배가되어야하므로) 'FooBar'가 표시됩니다. 누구가 무슨 일이 일어나는지 알아? (컨테이너 반대) 그리드 크기는 내용에 의해 결정되는 경우

<Grid Margin="10"> 
     <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="6*" /> 
     <ColumnDefinition Width="*" /> 
     </Grid.ColumnDefinitions> 

     <TextBlock Grid.Column="0" Text="Foo" /> 
     <TextBlock Grid.Column="1" Text="Bar" /> 
    </Grid> 
+0

''요소에'HorizontalAlignment = "Stretch"를 추가해 보셨습니까? – Alyce

+0

코드가 제대로 작동합니다. 하지만 참고; 나는'window'에'size'를 가지고 있지 않았습니다 ...'window' 엘레멘트의 기본 크기를 제거 할 수 있습니까? –

+0

'xaml'의'window' 요소를 볼 수 있습니까? 귀하의'xaml'에있는 유일한 다른 코드 –

답변

1

this tutorial 스타의 크기에 따라 작동하지 않습니다. 눈금의 너비를 지정하거나 컨테이너를 채우기 위해 늘리십시오.

+0

이것은 다소 근본 원인입니다. 필자의 경우이 표는 ListView의 DataTemplate입니다. ListView의 ItemContainerStyle 속성을 설정하여 그리드가 항상이 문제를 피하기 위해 컨테이너를 채울 수 있도록해야했습니다. –

관련 문제