我有一个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>
我尝试使用:
设置ItemsSourceMainList.ItemsSource = WebData
ListBox不会填充。
有什么想法吗?
答案 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
感谢您的帮助。