ListBoxItem是正常大小的两倍

时间:2012-03-01 04:45:10

标签: silverlight windows-phone-7

我在主页面上创建了一个简单的ListBox,但是默认情况下添加的项目的垂直间距太大(好像项目高度是它应该的两倍)。我尝试更改DataTemplate以及将{margin / padding}应用于ItemContainerStyle但没有任何成功。

哪个属性影响ListBoxItem关于如何根据内容调整大小的高度?更改字体系列也没有效果。

1 个答案:

答案 0 :(得分:1)

我认为你要找的是项目行结束和下一行开始之间的空格。

对于向导生成的代码:

<StackPanel Margin="0,0,0,17" Width="432" Height="78">

表示行高为78,行间距为17像素。

检查正在发生的事情的最简单方法是在元素后面加上一些彩色边框。我在下面做了。 Changng的高度或边缘然后显然是什么空间属于什么元素:

        <!--ContentPanel contains ListBox and ListBox ItemTemplate. Place additional content here-->
    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,,0">
        <ListBox x:Name="MainListBox" Margin="0,0,-12,0" ItemsSource="{Binding Items}" SelectionChanged="MainListBox_SelectionChanged" Background="Red">
            <ListBox.ItemTemplate>
                <DataTemplate>
                  <StackPanel Margin="0,0,0,17" Width="432" Height="78">
                        <Border Background="Yellow">
                            <TextBlock Text="{Binding LineOne}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}" />
                        </Border>
                        <Border Background="Blue">
                            <TextBlock Text="{Binding LineTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
                        </Border>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </Grid>