LongListSelector居中项目意外的位置更改

时间:2013-10-13 14:55:01

标签: xaml windows-phone-8 longlistselector

我的Windows Phone 8应用程序页面上有一个LongListSelector控件。对于此控件,我设置了GroupHeaderTemplate和ItemTemplate,两者都包含TextBlock。如果我将TextBlock控件对齐到中心,我会有一些奇怪的行为(可能不是很奇怪,但目前无法解释)。当我在手机上打开页面时,居中的文字移动了ca. 5px向右。用户可以看到此移动(页面加载后会发生此移动)。我试图解决这个问题,但所有保证金变化(以及其他试验)都没有改变行为,我的朋友谷歌也无法帮助我。有人可以解释一下为什么会发生这种情况以及如何解决这个问题?

我的代码(简化):

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="0">
        <phone:LongListSelector x:Name="longList" LayoutMode="List" HideEmptyGroups ="true" Margin="5,0,5,5" ItemsSource="{Binding List, Mode=OneWay}" IsGroupingEnabled="True" Background="Transparent" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
            <phone:LongListSelector.Resources>
                <DataTemplate x:Key="itemTemplate">
                    <Grid Margin="10,10,10,0" Background="#FFF3F1F1" HorizontalAlignment="Left">
                        <TextBlock x:Name="name" Margin="10" TextWrapping="NoWrap" Text="{Binding Name}" VerticalAlignment="Center" FontSize="40"/>
                    </Grid>
                </DataTemplate>
                <DataTemplate x:Key="groupHeaderTemplate">
                    <Grid Margin="10,10,10,0" Background="#FFF3F1F1" HorizontalAlignment="Center">
                        <TextBlock x:Name="name" Margin="10" TextWrapping="NoWrap" Text="test" VerticalAlignment="Center" FontSize="40"/>
                    </Grid>
                </DataTemplate>
            </phone:LongListSelector.Resources>
            <!--<phone:LongListSelector.JumpListStyle>
                <StaticResource ResourceKey="jumpListStyle"/>
            </phone:LongListSelector.JumpListStyle>-->
            <phone:LongListSelector.GroupHeaderTemplate>
                <StaticResource ResourceKey="groupHeaderTemplate"/>
            </phone:LongListSelector.GroupHeaderTemplate>
            <phone:LongListSelector.ItemTemplate>
                <StaticResource ResourceKey="itemTemplate"/>
            </phone:LongListSelector.ItemTemplate>
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="SelectionChanged">
                    <i:InvokeCommandAction Command="{Binding SelectItemCommand}"
                        CommandParameter="{Binding SelectedItem, ElementName=longList}"/>
                </i:EventTrigger>
            </i:Interaction.Triggers>
        </phone:LongListSelector>
    </Grid>

提前致谢

0 个答案:

没有答案