XAML 将 String<List> 或 String[] 绑定到 <Image>
XAML Binding String<List> or String[] to <Image>
这是我的 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 必须看起来像什么才能处理它?
干杯。
您可以将 属性 ContentImages 更改为 ObservableCollection,并将图像更改为 ItemsControl:
VM:
public ObservableCollection<string> ContentImages { get; set; }
XAML:
<ItemsControl ItemsSource="{Binding ContentImages}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Image Source="{Binding }"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
的好教程
这是我的 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 必须看起来像什么才能处理它?
干杯。
您可以将 属性 ContentImages 更改为 ObservableCollection,并将图像更改为 ItemsControl:
VM:
public ObservableCollection<string> ContentImages { get; set; }
XAML:
<ItemsControl ItemsSource="{Binding ContentImages}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Image Source="{Binding }"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
的好教程