listBox创伤错误@ WP7

时间:2012-02-07 06:54:10

标签: windows-phone-7 listbox

我创建了一个应用来跟踪推文并将其绑定到listBox。

,这是listBox的xaml:

           <ListBox Margin="0,0,-12,0" x:Name="listBox1" ItemsSource="{Binding Items}" SelectionChanged="listBox1_SelectionChanged">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal" Margin="0,0,0,17">
                            <!--Replace rectangle with image-->
                            <Image Height="100" Width="100" Source="{Binding DeveloperImage}" Margin="12,0,9,0"/>
                            <StackPanel Width="311">
                                <TextBlock Text="{Binding DeveloperName}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
                                <TextBlock Text="{Binding DeveloperBirthday}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
                            </StackPanel>
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

但是,当它被调试时,它返回到这个序列:

长空白 内容 空白

我想要的是:

只有内容,内容没有空白,内容后没有空白。

1 个答案:

答案 0 :(得分:0)

ListBox排列其子项的方式由其ItemsPanel确定。

您可以通过设置ItemsPanelTemplate来替换默认的ItemsPanel。

然后将每个Child包装在ItemContainer中。

您可以通过设置ItemContainerStyle来替换默认的ItemContainer。

最后,ListBox本身有一个边框,填充和边距,会影响ItemsPanel的放置位置。

因此,如果要调整列表框内容的位置,首先必须找出应修改的模板。一种快速的方法是使用Blend,因为它会为您提供视觉反馈。