这是我的XAML的一部分,它可以显示一张图片" ContentImages":
<DataTemplate x:Key="Box">
<Grid Background="#99FFFFFF" Margin="0 0 0 5" Width="380">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Margin="0,9.5,0,0" Grid.Column="0" HorizontalAlignment="Left">
<Image VerticalAlignment="Top" Source="{Binding ImagePath}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}" Height="79" Width="79"/>
</Border>
<StackPanel Grid.Column="1" Margin="14.5,0,0,0" Height="Auto">
<TextBlock Text="{Binding Title}" Foreground="Black" FontSize="36"/>
<TextBlock Text="{Binding Content}" TextWrapping="Wrap" Foreground="Black" FontSize="18" Padding="10 0 10 0"/>
<TextBlock Text="{Binding DateSend}"></TextBlock>
<Image Source="{Binding ContentImages}"/>
</StackPanel>
</Grid>
</DataTemplate>
问题是,绑定多个图像的最佳方法是什么。 ContentImages属性可能为空或者可能包含多个URLImages字符串。现在它适用于最多一个URLImage ...我需要什么来使它更动态?
我是否需要将此属性从String更改为List<String>
或String []?
如果是这样,那么XAML必须要处理什么呢?
干杯。
答案 0 :(得分:2)
您可以更改属性ContentImages的ObservableCollection并将Image更改为ItemsControl:
<强> VM 强>:
public ObservableCollection<string> ContentImages { get; set; }
<强> XAML 强>:
<ItemsControl ItemsSource="{Binding ContentImages}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Image Source="{Binding }"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>