连接源图像中的绑定文本和静态文本
本文关键字:文本 静态 绑定 图像 连接 | 更新日期: 2023-09-27 18:03:48
是否可以将绑定文本与源图像中的静态文本连接起来例如:
<Image Name="ImagePlace" Source="http://site.com/image/architecture.png" Grid.Column="0" />
<Image Name="ImagePlace" Source="{Binding Path=Ico}" Grid.Column="0" />
我想把这两个源连接起来。
我有一个名为类别的对象列表,其中包含一个字段图标,其中包含例如"architecture.png"。我将它绑定到一个列表中。网站的url不变,但图片总是在变。
<ListBox x:Name="ListboxCategories">
<ListBox.ItemTemplate>
<DataTemplate>
<Button Name="category" Tag="{Binding Path=Id}" Tap="category_Tap_1">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image Name="ImagePlace" Source="http://www.test.com/assets/images/icons/tags/architecture.png" Grid.Column="0" />
<TextBlock Text="{Binding Path=Title}" Grid.Column="1" HorizontalAlignment="Center" />
<Image Name="chevron" Grid.Column="2" Source="/Assets/AppBar/White/appbar.chevron.right.png" HorizontalAlignment="Right" Width="50" Height="50" />
</Grid>
</Button>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
最干净的方法(取决于您的体系结构)是在对象中添加一个属性来进行连接:
public string FullUri
{
get
{
return "http://site.com/image/" + this.Ico
}
}
另一种方法是使用自定义转换器进行连接。
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null)
{
return null;
}
return "http://site.com/image/" + value.ToString();
}