Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight ListBoxItem是正常大小的两倍_Silverlight_Windows Phone 7 - Fatal编程技术网

Silverlight ListBoxItem是正常大小的两倍

Silverlight ListBoxItem是正常大小的两倍,silverlight,windows-phone-7,Silverlight,Windows Phone 7,我在主页上创建了一个简单的ListBox,但是添加的项目在默认情况下有太多的垂直间距(好像一个项目的高度是它应该的两倍)。我尝试过更改DataTemplate,并对ItemContainerStyle应用0边距/填充,但没有成功 哪个属性会影响ListBoxItem的高度,从而影响其内容大小?更改字体系列也没有效果。我认为您要查找的是项目行结束和下一行开始之间的空间 对于向导生成的代码: <StackPanel Margin="0,0,0,17" Width="432" Height="7

我在主页上创建了一个简单的
ListBox
,但是添加的项目在默认情况下有太多的垂直间距(好像一个项目的高度是它应该的两倍)。我尝试过更改
DataTemplate
,并对
ItemContainerStyle
应用0边距/填充,但没有成功


哪个属性会影响
ListBoxItem
的高度,从而影响其内容大小?更改字体系列也没有效果。

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

对于向导生成的代码:

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

表示行高为78,行与行之间的间距为17像素

检查正在发生什么的最简单方法是在元素后面放置一些彩色边框。我已经在下面做了。改变高度或边距,很明显什么空间属于什么元素:

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


您可以发布您用于
列表框的代码吗?ItemTemplate
,因为其中的子项决定了每个项目的总体高度。这与向导生成的代码无关,该代码使用一个简单的
列表框
,少数项目再现了该问题。我曾尝试使用自定义的
DataTemplate
解决该问题,但即使没有自定义的
DataTemplate,问题仍然存在。谢谢@wpfwannabe即使它是默认创建的,您仍然可以向我们展示您看到的是什么,以及您希望它是什么样子的示例。好的,我真诚的道歉。这显然是我的愚蠢。我的
ListBox
条目是纯字符串,出于某种原因,它们中的每一个都附加了新行。这导致了双线高度。谢谢你的努力。