Элемент списка в сводном элементе управления не получает все доступное пространство - PullRequest
0 голосов
/ 21 февраля 2012

У меня есть простая страница с управлением сводкой и списком внутри, но я не могу растянуть список, чтобы получить все доступное пространство.

Шаблоны:

<phone:PhoneApplicationPage.Resources>
    <converter:UserMessageConverter x:Key="MessageUserConverter" />
    <DataTemplate x:Key="ItemTemplate">
        <StackPanel Margin="0,0,0,30">
            <TextBlock Text="{Binding Model.Text}" Style="{StaticResource PhoneTextExtraLargeStyle}"  FontSize="21.333" TextWrapping="Wrap" />
            <TextBlock Text="{Binding User, Converter={StaticResource MessageUserConverter}}" Margin="12,3,0,0" Style="{StaticResource PhoneTextSubtleStyle}" TextWrapping="Wrap" FontSize="18.667"/>
        </StackPanel>
    </DataTemplate>
    <DataTemplate x:Key="WindowsPhone.Application.ViewModel.MessageListViewModel">
        <ListBox ItemTemplate="{StaticResource ItemTemplate}" ItemsSource="{Binding Messages}" Background="Aqua">
            <ListBox.ItemContainerStyle>
                <Style TargetType="ListBoxItem">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate>
                                <ContentPresenter HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>
            </ListBox.ItemContainerStyle>
            <wi:Interaction.Triggers>
                <wi:EventTrigger EventName="SelectionChanged">
                    <wi:InvokeCommandAction Command="{Binding MessageSelectedCommand}" CommandParameter="{Binding SelectedItem, ElementName=MessageList}" />
                </wi:EventTrigger>
            </wi:Interaction.Triggers>
        </ListBox>
    </DataTemplate>
</phone:PhoneApplicationPage.Resources>

Pivot:

<Grid x:Name="LayoutRoot" Background="Transparent">
    <!--Pivot Control-->
<controls:Pivot Title="Messages &amp; Responses" ItemsSource="{Binding Pages}">
    <controls:Pivot.ItemTemplate>
        <DataTemplate>
            <helpers:DataTemplateSelector Content="{Binding}" />
        </DataTemplate>
    </controls:Pivot.ItemTemplate>
    <controls:Pivot.HeaderTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Title}" />
        </DataTemplate>
    </controls:Pivot.HeaderTemplate>
</controls:Pivot>
</Grid>

The result which I got

Ответы [ 2 ]

0 голосов
/ 21 февраля 2012

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

0 голосов
/ 21 февраля 2012

Не уверен на 100%, но попробуйте

 <Style TargetType="ListBoxItem">
      <Setter Property="HorizontalAlignment" Value="Stretch"/>
      <Setter Property="Template">
          <Setter.Value>
              <ControlTemplate>
                  <ContentPresenter HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
              </ControlTemplate>
          </Setter.Value>
      </Setter>
  </Style>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...