너비가 "Auto", "*", and "Auto"
인 3 개의 열이있는 Silverlight 5.0 Grid가 있습니다. 두 번째 열 안에 폭이 "25*"
인 4 개의 열이있는 다른 Grid가 있습니다. 이 4 개의 열은 각각 ComboBox입니다.Silverlight Grid 열 너비
너비가 모두 동일하게 정의되어 있어도 콤보 상자의 "자동"크기는 자동으로 지정되며 하나를 선택하면 항목의 크기에 맞게 상자 자체가 아래쪽 화살표보다 더 크게 좁혀집니다.
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<ContentControl Grid.Column="0" FontSize="20" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="10,1,0,1">
<ContentPresenter Content="This is a Label" />
</ContentControl>
<Grid Grid.Column="1" HorizontalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="25*"/>
<ColumnDefinition Width="25*"/>
<ColumnDefinition Width="25*"/>
<ColumnDefinition Width="25*"/>
</Grid.ColumnDefinitions>
<ComboBox Grid.Column="0" Name="comboView" FontSize="14" Margin="2,1,2,1" >
<ComboBox.Items>
<ComboBoxItem Content="Item1" IsSelected="True" />
<ComboBoxItem Content="Item2" />
</ComboBox.Items>
</ComboBox>
<ComboBox Grid.Column="1" Name="comboField" FontSize="14" Margin="2,1,2,1" >
<ComboBox.Items>
<ComboBoxItem Content="Field1" IsSelected="True" />
<ComboBoxItem Content="Field2" />
</ComboBox.Items>
</ComboBox>
...
은 어떻게 놓친? 첫 번째 열이 Auto
으로 설정되고 나머지가 Width=9*
과 같이 설정된 하나의 표가있는 경우 ComboBoxes는 이러한 방식으로 작동하지 않습니다.
더 자세히 살펴보면, 내부 격자의 HorizontalAlignment="Center"
이 원인 인 것처럼 보입니다. 제거하면 콤보 상자가 크기 유지 상태로 돌아 오지만 필요한 외부 공간을 차지한 다음 바깥 쪽 열에 가운데 놓기를 원할 때 전체 외부 1 열을 차지합니다.
'25 *'대신'0.25 *'를 시도하십시오 –
정확히 원하는 것을 파싱하는 데 약간의 문제가 있습니다. 2 개의 콤보 상자를 그리드의 중앙에 배치하고 필요한 공간 만 채우고 싶습니까? – DanTheMan
@DanTheMan - (네 개의 콤보 상자가 있습니다. 실제로 정의를 반복하지 않았습니다.) 원하는 것은 세 개의 열 (레이블, 콤보 상자 세트 및 단추)이고 가운데 열은 네 개의 콤보 상자 . 콤보 상자는 각각 동일한 너비 (Width = "25 *") 여야하며 필요한 공간 만 차지하며 그 중 네 개는 외부 그리드의 가운데 열에 가운데 놓입니다. –