模型中图像的URL列表,想要在视图中绘制图像

时间:2012-01-06 11:44:18

标签: wpf xaml c#-4.0 binding wpf-controls

在我的模型中,我有一个ImageUrls列表(作为List),它们都是从Flickr中找到的图像。我正在寻找一种方法在WPF Gui中绘制这些图像,并且不知道如何设计XAML并将其绑定到此List。具体问题:

  1. 我可以使用哪种UIElement?
  2. 如果例如列表首先为空,然后增长到5个URL,我该如何动态创建此UIElement?我可以创建一个StackPanel并在每个URL中创建一个UI-Image实例吗? 或者3.有更好的解决方案吗?

1 个答案:

答案 0 :(得分:2)

要显示图片,您只需使用the Source propertyImage的来源绑定到指定的图片URI。

为了在将图像添加到列表时动态创建图像,我建议绑定到URI列表,然后在xaml中创建一个显示图像的项目模板;像这样的东西:

<ItemsControl
    ItemsSource="{Binding YourListWithURIs}"
    ItemTemplate="{StaticResource ImageTemplate}">

<ItemsControl.Resources>
    <DataTemplate x:Key="ImageTemplate">
        <Image Source="{Binding}" />
    </DataTemplate>
</ItemsControl.Resources>

</ItemsControl>

鉴于您绑定到包含属性(列表)的DataContextYourListWithURIs。此外,请确保此列表为ObservableCollection,以便在向列表中添加或删除项目时自动通知视图。