2013-07-30 3 views
0

В моем коде:Grid.Width = «*» не в правильном формате

<Grid x:Name="LayoutRoot" Background="Black"> 

    <Grid.RowDefinitions> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="Auto"/> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="Auto"/> 
    </Grid.ColumnDefinitions> 

    <Grid Name="Panel" Grid.Row="0" Grid.Column="0" Height="100" Width="*" HorizontalAlignment="Left" VerticalAlignment="Top"> 

    </Grid> 
</Grid> 

Я хочу, чтобы внутренняя сетка, чтобы заполнить всю ширину экрана. поэтому я подумал, что это сделает *. но он говорит, что он не в правильном формате.

Как установить внутреннюю сетку для заполнения ширины?

ответ

1

Width Недвижимость имеет тип double и не принимает значения типа GridLength. Поэтому вы получите исключение: Строка «'*' не может быть преобразована в длину».

Также не следует устанавливать HorizontalAlignment="Left". Если вы хотите растянуть ширину элемента управления, установите его как HorizontalAlignment="Stretch".

Если вы установили HorizontalAlignment="Left", то элементы выровнены слева от выделенного места размещения родительского элемента.

Более подробную информацию вы можете получить по адресу here. Я бы посоветовал разобраться с этим, чтобы вы могли больше понять, как лучше расположить/упорядочить управление в пользовательском интерфейсе.

<Grid Name="Panel" Grid.Row="0" Grid.Column="0" Height="100" HorizontalAlignment="Stretch" VerticalAlignment="Top" /> 
+0

спасибо, Но я хочу, чтобы он был наверху в качестве баннера. с фиксированной высотой – Shi

+0

Пожалуйста, проверьте ответ, я обновил его. – Nitesh

0

просто установить HorizontalAlignment свойство сетки, чтобы растянуть как this..and удалить свойство ширины ..

<Grid Name="Panel" Grid.Row="0" Grid.Column="0" Height="100" HorizontalAlignment="Stretch" VerticalAlignment="Top"> 

    </Grid> 

надеюсь, что это решит вашу проблему ..

Смежные вопросы