因此,我正在開發通用Windows平臺。我的圖像從網站爲Base64字符串拉動並將其轉換爲使用byte[] imageBytes = Convert.FromBase64String(srcString);
字節數組轉換是一個BitmapImage的用下面的代碼:將從ByteStream獲取的BitmapImage綁定到UWP上的ImageBrush C#
public async static Task<BitmapImage> ImageFromBytes(Byte[] bytes)
{
BitmapImage image = new BitmapImage();
using (InMemoryRandomAccessStream stream = new InMemoryRandomAccessStream())
{
await stream.WriteAsync(bytes.AsBuffer());
stream.Seek(0);
await image.SetSourceAsync(stream);
}
return image;
}
看起來像這樣正確的拉在我的形象BitmapImage對象中圖像的三維屬性填充正確。問題是,我需要使用圖像畫筆使用此圖像對象作爲一個GridView項模板的背景下面的XAML代碼:
<GridView.ItemTemplate>
<DataTemplate x:DataType="models:data" >
<StackPanel
Orientation="Horizontal"
HorizontalAlignment="Center"
Width="190"
Height="270"
BorderThickness="1" BorderBrush="DarkBlue"
>
<StackPanel.Background>
<ImageBrush Stretch="Fill" ImageSource="{x:Bind Image}"/>
</StackPanel.Background>
<StackPanel HorizontalAlignment="Center" Padding="5" >
<StackPanel Orientation="Horizontal" >
<TextBlock Text="Title:" FontWeight="Bold" />
<TextBlock Name="Block" Margin="5,0,0,0"
Text="{x:Bind Title}" />
</StackPanel>
</StackPanel>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
我後面的代碼設置正確,因爲如果我喂本地URI中的圖像綁定變量,然後一切工作完美無瑕。但是,由於我製作的BitmapImage中的URI屬性爲空,因此我無法僅爲其獲取URI並將其用於綁定。將圖像作爲字節數組獲取是我能夠做到的唯一方法。有沒有辦法使用這個圖像我拉入一個字節流並將其綁定到我的XAML代碼?
感謝, 肯尼
它與'ImageSource =「{綁定圖像}」'工作嗎?你也應該向我們展示你的Image屬性的聲明。 – Clemens
謝謝克萊門斯!這實際上工作!綁定比x有更多的兼容性:然後綁定? –