Выравнивание элемента ListBox TextBlock в столбце сетки Windows Phone

У меня проблема с HorizontalAlignment TextBlock в ListBox ItemTemplate. Это часть моего кода:

<ListBox x:Name="mealList" ItemsSource="{Binding Meals}" >
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="auto"/>
                </Grid.ColumnDefinitions>
                <TextBlock Text="{Binding Name}" Margin="10" Grid.Column="0"  TextWrapping="Wrap" Style="{StaticResource PhoneTextSmallStyle}"/>
                <TextBlock Text="{Binding Price}"  Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Center" Style="{StaticResource PhoneTextSmallStyle}"/>
            </Grid>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

В приложении у меня есть этот список вещей:

Фактическое состояние

Но я хочу, чтобы правая колонка с "xx,-Kč" имела HorizontalAlignment="Right". Каждый элемент в этом столбце должен находиться в правой части экрана и ниже предыдущего элемента. Второй столбец во второй строке должен быть ниже второго столбца в первой строке. Ты понимаешь?

Можешь мне помочь? Я могу опубликовать больше кода.


person Pepa Zapletal    schedule 10.07.2013    source источник
comment
Я думаю, что проблема в определениях столбцов. Значение * использует доступное пространство, но проблема заключается в разрывах строк в вашем тексте. Ширина первого столбца — это максимальная длина текстовой строки. Если вы нарисуете границы текстовых блоков, это может быть ясно.   -  person xmashallax    schedule 11.07.2013
comment
Проблема в том, что у вас есть новая сетка для каждого элемента списка. Попробуйте использовать процентные значения ширины столбцов, например 8* и 2*.   -  person Jon    schedule 11.07.2013
comment
Я пытаюсь использовать процентные значения, но мне это не помогло. Есть у кого-то еще совет??   -  person Pepa Zapletal    schedule 11.07.2013
comment
Посмотрите на этот пост: stackoverflow.com/questions/838828/   -  person Jon    schedule 11.07.2013
comment
к позднему ответу, но это сработало для меня: 6782452/make-grid-align-properly   -  person PAG    schedule 08.11.2013
comment
Распространенная ошибка, @Pyush прав. Вы должны добавить стиль <ListBox.ItemContainerStyle><Style TargetType="ListBoxItem"><Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter></Style></ListBox.ItemContainerStyle> выше ‹ListBox.ItemTemplate›   -  person general03    schedule 02.09.2014