我有这段代码:
<HubSection IsHeaderInteractive="True" x:Uid="Section3Header" Header="My Groups" Padding="40,40,40,32">
<DataTemplate>
<ListView x:Name="List" Grid.Row="6" Margin="40,20,40,10" HorizontalAlignment="Stretch" Foreground="White">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Width="220" Height="60" Background="#FF729FD4">
<Border Background="#66727272" Width="40" Height="40" Margin="10">
<Image Source="/SampleImage.png" Height="32" Width="32" Stretch="UniformToFill"/>
</Border>
<StackPanel Orientation="Vertical" VerticalAlignment="Center">
<TextBlock Margin="10,0,0,0" Width="170" Height="20" TextTrimming="WordEllipsis"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</DataTemplate>
</HubSection>
我的问题非常基本: 我需要用该代码创建一个listview,并且在每个listview项中需要有一个我通过websrvice获得的数据(类型是字符串)。
我的问题是如何将此数据填充到DataTemplate?
感谢。
答案 0 :(得分:0)
我觉得你错过了一些东西。 datatemplate用于定义ItemsControl项目的视觉外观(例如ListView)。
在你的情况下,ListView是另一个datatemplate的一部分,有些情况是有意义的(父子显示),但我不认为这是你想要的。 因此,在您的情况下,您只需要删除外部数据窗口,只需在代码中为ListView分配项目列表。
如果确实需要outer-datetemplate(我不熟悉HubSection),那么ListView是datatemplate的一部分,您需要将datatemplate类型的属性绑定到ListView的Items集合。 类似的东西:
<ListView Items={Binding YourListProperty} ... >