0

我有一个 LLS,它显示了 2 组朋友(在线和离线)。我的问题:当我开始滚动 LLS - 它有 2 个变体:1) LLS 滚动良好,2) 它不滚动。当它不滚动时 - 我开始在不同的地方垂直滚动屏幕,并在屏幕的某个地方找到 LLS 开始滚动的位置。但!第二次 - 在这个地方 LLS 不滚动,我再次尝试在屏幕上找到 LLS 滚动的地方。看起来 LLS 的滚动查看器会随机更改位置和大小。这是我的LLS:

        <controls:PanoramaItem Header="1">
            <Grid Height="500" >
                <toolkit:LongListSelector Name="AllFriendsList" Height="500" Width="420" 
                ItemTemplate="{StaticResource citiesItemTemplate}"
                ListHeaderTemplate="{StaticResource citiesListHeader}" 
                ListFooterTemplate="{StaticResource citiesListFooter}"
                GroupHeaderTemplate="{StaticResource groupHeaderTemplate}"
                GroupItemTemplate="{StaticResource groupItemTemplate}" >
                    <toolkit:LongListSelector.GroupItemsPanel>
                        <ItemsPanelTemplate>
                            <toolkit:WrapPanel/>
                        </ItemsPanelTemplate>
                    </toolkit:LongListSelector.GroupItemsPanel>

                </toolkit:LongListSelector>
            </Grid>
        </controls:PanoramaItem>

和风格:

  <DataTemplate x:Key="citiesListHeader">
        <Border Background="Purple">
            <TextBlock Text="Cities Header" />
        </Border>
    </DataTemplate>
    <DataTemplate x:Key="citiesListFooter">
        <Border Background="Green">
            <TextBlock Text="Cities Footer" />
        </Border>
    </DataTemplate>

    <!-- The template for city items -->
    <DataTemplate x:Key="citiesItemTemplate">
        <StackPanel Grid.Column="1"  VerticalAlignment="Top">
            <Line Style="{StaticResource Line1}" ></Line>
            <Line Style="{StaticResource Line2}" ></Line>
            <TextBlock Margin="75,15,40,0" FontSize="30" Name="Name" Text="{Binding Name}" Tap="GetUserInfo" />
            <Image HorizontalAlignment="Left" Width="75" Name="Photo" >
                <Image.Source>
                    <BitmapImage UriSource="{Binding Image}" CreateOptions="BackgroundCreation" />
                </Image.Source>
            </Image>
        </StackPanel>
    </DataTemplate>


    <!-- The group header template, for groups in the main list -->
    <DataTemplate x:Key="groupHeaderTemplate">
        <Border Background="YellowGreen" Margin="6">
            <TextBlock Text="{Binding Title}" FontSize="40" Foreground="Black"/>
        </Border>
    </DataTemplate>

    <DataTemplate x:Key="groupItemTemplate" >
        <Border Background="YellowGreen" Width="99" Height="99" Margin="6">
            <TextBlock Text="{Binding Title}" FontSize="40" Foreground="Black"/>
        </Border>
    </DataTemplate>

我没有更改控件名称,我从这里取了它们。

4

2 回答 2

0

在 DataTemplate 中的 StackPanel 上放置透明背景。命中测试系统必须有像素才能使用,即使它们是透明的。但是,不要疯狂地在任何地方添加背景,否则您的帧速率会下降。

于 2013-02-14T18:03:14.900 回答
0

问题在于滚动仅适用于控件。因此,如果我将鼠标放在图像或文本块上 - 它滚动正常(我的 LLS 有没有任何控件的空白位置),当我尝试在空白位置滚动时 - 它不会滚动。

于 2013-01-05T09:22:45.793 回答