Проблема ширины столбца при отображении таблицы данных в xaml - PullRequest
2 голосов
/ 06 марта 2011

Я пытаюсь отобразить таблицу данных, которая выглядит так на Windows Phone 7 (поэтому у меня нет элемента управления DataGrid:

(The columns are: Rank, Score, Win-Loss, Name.)

7 43 22-7 Aaron
2 13  4-7 Beth
5 42  3-1 Clark

И так далее. Я использовал ListBox с ItemTemplate для запроса значений и их распечатки, а Grid - для форматирования списка. Тем не менее, каждая запись сетки является отдельной! Я хочу, чтобы все столбцы выстроились в линию, но если размер элемента не совпадает, он не выравнивается.

Это код, который я использую:

<ListBox x:Name="MyListBox" ItemsSource="{Binding AllPlayers}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>
                <TextBlock Grid.Column="0" Margin="10,0,10,0" Text="{Binding Rank}"/>
                <TextBlock Grid.Column="1" Margin="10,0,10,0" Text="{Binding Score}"/>
                <StackPanel Grid.Column="2" Margin="10,0,10,0" Orientation="Horizontal">
                    <TextBlock Grid.Column="2" Text="{Binding Wins}"/>
                    <TextBlock Grid.Column="2" Text="-"/>
                    <TextBlock Grid.Column="2" Text="{Binding Losses}"/>
                </StackPanel>
                <TextBlock Grid.Column="3" Margin="10,0,10,0" Text="{Binding Name}"/>
            </Grid>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

Есть ли лучший способ сделать это? Я мог бы вручную установить ширину пикселя в столбце «Сетка», но я бы предпочел, чтобы он автоматически вычислял ширину, если это возможно.

1 Ответ

2 голосов
/ 06 марта 2011

Поскольку WP7 поддерживает одну фиксированную ширину пикселя экрана, вы можете установить точную ширину для каждого столбца. Какую ширину использовать - это зависит от вас, в зависимости от содержимого, но это будет способ сохранить их все в одном размере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...