2016-04-17 50 views
0

如何更改應用程序包外部的ImageSource?我使用的是:將ImageSource設置爲應用程序包外部的路徑

FileOpenPicker picker = new FileOpenPicker(); 
picker.FileTypeFilter.Add(".jpg"); 
StorageFile file = await picker.PickSingleFileAsync(); 

if (file != null) 
{ 
    grid.Background = new ImageBrush 
    { 
     ImageSource = new BitmapImage(new Uri(file.Path, UriKind.Absolute)) 
    }; 
} 

但是,當我選擇我想要的圖像後,它只是不顯示爲網格背景。它什麼都沒顯示!這裏是XAML:

<Border BorderBrush="Black" BorderThickness="1" Margin="315,260,85,140" Width="100" Height="100"> 
    <Grid x:Name="grid" Margin="0" Visibility="Visible"> 
    </Grid> 
</Border> 

謝謝!

回答

0

你必須先打開文件:

if (file != null) 
{ 
    var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read); 

    var bitmapImage = new Windows.UI.Xaml.Media.Imaging.BitmapImage(); 
    await bitmapImage.SetSourceAsync(stream); 

    var decoder = await Windows.Graphics.Imaging.BitmapDecoder.CreateAsync(stream); 

    grid.Background = new ImageBrush 
    { 

     ImageSource = bitmapImage 
    }; 
} 
+0

感謝您的幫助! –

相關問題