gpt4 book ai didi

c# - 在 Metro App 中动态绑定(bind)图片

转载 作者:太空狗 更新时间:2023-10-29 23:40:08 26 4
gpt4 key购买 nike

我在 ImageBrush 中有一个 ImageSource,它会根据我的数据动态变化。

问题是,我无法直接访问 ImageBrush 的名称,因为它位于 DataTemplate 中。我知道这是个坏主意,因为在 UI 中存储数据是一个坏习惯。

如果有人知道如何使用图像上的数据绑定(bind)来解决这个问题,我将不胜感激。谢谢!!

<DataTemplate>
<StackPanel Width="250" Height="180" VerticalAlignment="Bottom">
<StackPanel.Background>
<ImageBrush ImageSource="{Binding ???}"/>
</StackPanel.Background>
........
</StackPanel>
</DataTemplate>

最佳答案

您可以创建一个将路径转换为图像的转换器:

public sealed class ImageConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
try
{
return new BitmapImage(new Uri((string)value));
}
catch
{
return new BitmapImage();
}
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}

然后在 XAML 中:

< Image Source="{Binding Path=ImagePath, Converter={StaticResource ImageConverter}}" />

关于c# - 在 Metro App 中动态绑定(bind)图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13695989/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com