在运行时在WIndows Phone 8中填充ScrollView

时间:2014-11-01 12:30:29

标签: windows-phone-8 scrollview datatemplate

我有一个Windows Phone 8的应用程序,显示从我的网站加载的数据。

目前,我已为数据设置了4个'持有者',其中包含一些TextBlocks和Images。加载应用程序时,这4个持有者显示前4个'记录'的数据。要显示下4个'记录',用户必须单击“下一步”按钮。

我想更改此内容,以便所有“记录”都显示在ScrollView中,这样用户只需向下滚动即可查看记录,而不是单击“下一步”按钮。

我还使用Eclipse和Java为Android编写了应用程序。为了做到这一点,我在xml中创建了'holder'的布局,然后将其用作数据的模板。我只需要定义一次布局,然后在运行时重复,填充每条记录的数据。

如何在Windows Phone中使用vb.net和xaml实现相同功能?

我已经google了,可能DataTemplate是我需要的,但是我不确定并且不知道如何实现它。

如果你能指出我正确的方向,我相信我能搞清楚!

提前致谢。

编辑: 好的,我已经尝试了以下但ListBox是空的:

基本上我在运行时从我的网站填充了一个List(我知道这一点有效):

Public WebData As New System.Collections.Generic.List(Of WebInfo)

WebInfo类:

Public Class WebInfo
    Public ID As Integer
    Public H1 As String
    Public A1 As String
    Public C1 As String
    Public C2 As String
    Public K1 As Date
End Class

XAML:

<ListBox x:Name="MainList" HorizontalContentAlignment="Stretch"     VerticalContentAlignment="Stretch" Grid.Row="3"  Grid.RowSpan="6"  Grid.Column="0"    Grid.ColumnSpan="3">
        <ListBox.ItemTemplate>
            <DataTemplate>
                    <TextBlock x:Name="H1" Text="{Binding H1}"  FontSize="15" Margin="0" VerticalAlignment="Center" HorizontalAlignment="Right" TextAlignment="Right" FontWeight="Bold" Foreground="Black"/>
            </DataTemplate>
        </ListBox.ItemTemplate>
</ListBox>

我尝试使用:

设置ItemsSource
MainList.ItemsSource = WebData

ListBox不会填充。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我认为LongListSelector适合您,但您应该根据需要编辑DataTemplate。

  <phone:LongListSelector ItemsSource="{Binding ArticleList}">
        <phone:LongListSelector.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal">
                    <TextBlock Text="Title:" />
                    <TextBlock Text="{Binding Title}" />
                </StackPanel>
            </DataTemplate>
        </phone:LongListSelector.ItemTemplate>          
    </phone:LongListSelector>

答案 1 :(得分:0)

问题是,我在我的班级而不是属性中使用变量:

Public Class WebInfo
    Public Property ID As Integer
    Public Property H1 As String
    Public Property A1 As String
    Public Property C1 As String
    Public Property C2 As String
    Public Property K1 As Date
End Class

感谢您的帮助。