LongListSelector根据屏幕宽度进行调整

时间:2014-03-31 14:03:58

标签: xaml windows-phone-8 longlistselector

我是Windows Phone 8开发的新手,我有一个非常基本的问题我相信。

我希望让我的LongListSelector具有100%的宽度和高度,但我尝试的所有东西都没有用。

我尝试过Auto,*等,但似乎没有做到这一点。

这是我的代码:

<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <!--TitlePanel contains the name of the application and page title-->
    <StackPanel Grid.Row="0" Margin="12,17,0,28">
        <TextBlock Text="{Binding Path=LocalizedResources.ApplicationTitle, Source={StaticResource LocalizedStrings}}" Style="{StaticResource PhoneTextNormalStyle}"/>
        <TextBlock TextWrapping="Wrap" Text="{Binding Path=LocalizedResources.SetupsPageTitle, Source={StaticResource LocalizedStrings}}" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
    </StackPanel>

    <!--ContentPanel - place additional content here-->
    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">

        <phone:LongListSelector HorizontalAlignment="Left"  Width="400" Height="400"
                        VerticalAlignment="Top" 
                        Name="lstSetups" ItemsSource="{Binding BusRouteSetups}"
                        SelectionChanged="lstSetups_SelectionChanged"
                        LayoutMode="List">
            <phone:LongListSelector.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Vertical" Margin="0,10,0,10" Background="Coral">
                        <TextBlock TextWrapping="Wrap" Margin="5"  FontWeight="Bold"  Text="{Binding Details.Title}" />
                        <TextBlock TextWrapping="Wrap" Margin="5"  Text="{Binding Details.Description}" />
                    </StackPanel>
                </DataTemplate>
            </phone:LongListSelector.ItemTemplate>
        </phone:LongListSelector>

    </Grid>

</Grid>

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

使用Horizo​​ntalAlignment = Stretch(也是Vertical),然后LLS的Width和Height将设置为该控件可用的最大空间:

<phone:LongListSelector HorizontalAlignment="Stretch"                  
                        VerticalAlignment="Stretch" 
                        Name="lstSetups" ItemsSource="{Binding BusRouteSetups}"
                        SelectionChanged="lstSetups_SelectionChanged"
                        LayoutMode="List">

请注意,它的最大高度将由Grid(Control的父级)确定。虽然你已经将RowDefinition的高度设置为* - 这意味着它将使用屏幕的所有剩余高度(剩余 - 第一行使用一些空格(设置为自动) - 带标题的StackPanel)。

答案 1 :(得分:1)

<强>的Horizo​​ntalAlignment =&#34;左&#34;宽度=&#34; 400&#34;高度=&#34; 400&#34; VerticalAlignment =&#34; Top&#34;

只需删除这部分代码,然后控件就会自动发送。