繁体   English   中英

数据透视控件中的列表框项目无法获得所有可用空间

[英]Listbox item in pivot control doesn't get all available space

我有一个简单的页面,里面有数据透视控件和列表框,但是我无法使列表框拉伸以获取所有可用空间。

范本:

<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>

枢:

<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>

我得到的结果

不确定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>

注意这一点 ,但是我认为ListBox扩展了整个父容器,但父容器却没有。 为什么Aqua框位于页面的中心而不是左侧或顶部? 请尝试制作相同的应用程序,但不要使用模板化的Pivot ,也许它将您推向正确的方向,并且您发现问题出在哪里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM