【发布时间】:2014-01-29 23:14:18
【问题描述】:
据我所知,您只需要图片网址即可显示图片。 我的工作方式是将每个项目添加到列表视图项目中,如下所示:
private async void PopulateTopicListView()
{
for (int i = 0; i < pTopics.Count; i++)
{
//if (String.IsNullOrEmpty(pTopics[i].thumbnail) || pTopics[i].thumbnail.Equals("self") || pTopics[i].thumbnail.Equals("nsfw"))
//{
Image thumb;
if (!String.IsNullOrEmpty(pTopics[i].thumbnail) && pTopics[i].thumbnail.Contains("http"))
{
/thumb = await GetImage(pTopics[i].thumbnail);
topicsListView.Items.Add(thumb + pTopics[i].title + "\n" + pTopics[i].author + " " + pTopics[i].timeposted + " hours ago" + "\n" + pTopics[i].points + " points\t"
+ pTopics[i].commentCount + " comments\n" + "[" + pTopics[i].subreddit + "]");
}
else
{
topicsListView.Items.Add(pTopics[i].title + "\n" + pTopics[i].author + " " + pTopics[i].timeposted + " hours ago" + "\n" + pTopics[i].points + " points\t"
+ pTopics[i].commentCount + " comments\n" + "[" + pTopics[i].subreddit + "]");
}
}
SeperatorOne.Visibility = Visibility.Visible;
CurrentSubredditTextBlock.Visibility = Visibility.Visible;
FilterDropdown.Visibility = Visibility.Visible;
}
我的列表视图的 XAML 如下所示:
<ListView x:Name="topicsListView" ItemsSource="{Binding topicsListView}" FontStretch="Condensed" HorizontalAlignment="Left" Height="1007" VerticalAlignment="Top" Width="546" SelectionChanged="topicsListView_SelectionChanged" Margin="0,73,0,0" FontSize="36" Style="{StaticResource ListViewStyle1}" Background="#FF1D1C1C">
<ListView.ItemTemplate>
<DataTemplate>
<Grid Height=" 80" Margin="6">
<Grid.Resources >
<CollectionViewSource x:Name="topicsListView" />
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Width="80" Height="80">
<Image Source= "{Binding topicsListView.thumbnail}" Stretch="UniformToFill"/>
</Border>
<StackPanel Grid.Column="1" VerticalAlignment="Top" Margin="10,0,0,0">
<TextBlock Text="{Binding }" Style="{StaticResource BodyTextBlockStyle}" />
</StackPanel>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
那么有什么想法为什么只是将 url 添加为文本? 我没有正确设置图像吗?
【问题讨论】:
标签: c# image listview grid microsoft-metro