2015-07-12 4 views
1

В Windows 8.1 У меня есть рабочий код Xaml Grid, который создает три столбца два слева и справа и один посередине, который заполняет пробел.Расчет ширины столбца таблицы Windows 10, когда ColumnDefinition Width = "*"

<Grid x:Name="HeaderGrid" DataContext="{Binding}" MinHeight="40" Width="200" 
     HorizontalAlignment="Stretch"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto"/> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="Auto"/> 
    </Grid.ColumnDefinitions> 
... 
</Grid> 

В Windows 10 третья колонка не отображается. Изменив ширину второго столбца на «Авто», я вижу все столбцы, но это не тот дизайн пользовательского интерфейса, который мне нужен.

+0

Вы положили что-то в третью колонку? Если он пуст, ширина авто будет 0, и она не будет видна. –

+0

Да, оба столбца 0 и 2 имеют действительное содержание. – nimatra

ответ

0

Звучит так, как будто родительница сетки шире, чем вы ожидаете, так что сетка становится обрезанной справа. Могу ли я увидеть больше Xaml, который содержит Grid? Вы также можете проверить, установив HorizontalAlignment Grid вправо, чтобы попытаться выяснить, где находится правый край его родителя. Если вы используете VS2015RC, вы можете использовать инструмент «Живое визуальное дерево» во время отладки F5 в разделе «Отладка-> Windows-> Живое визуальное дерево».

+0

Я установил ширину сетки. Я просто забыл скопировать эту часть вопроса. Я видел некоторые другие странные поведения от других панелей макета XAML специально RelativePanel. Наверное, мне просто нужно ждать RTM. – nimatra

+0

Я думаю, что установка HorizontalAlignment to Stretch заставит любой элемент делать ставки на ширину своего родителя и игнорировать то, что вы установили для Width, MinWidth и MaxWidth. – DrewCan