2

VB.NET で Windows 8 用の WPF を使用してアプリケーションを構築しており、ディスクからいくつかの画像を読み込む必要があります。プロジェクトへの参照として画像を追加したくありません。そのままロードしたいだけです。

MSDN の「Imaging Overview」とインターネット上の他のいくつかの記事を既に調べましたが、問題は解決しませんでした。

XAML とコードの両方を使用しましたが、何も機能しませんでした。画像を提示できません。

Dim myimage As New Image
myimage.Width = 200
Dim bitmapimage As New BitmapImage()
bitmapimage.UriSource = New Uri("C:\Users\MyName\Documents\Database\image.jpg")
myimage.Source = bitmapimage

XAML コード:

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<Image HorizontalAlignment="Left" Height="265" Margin="191,145,0,0" VerticalAlignment="Top" Width="660">

<Image.Source>
<BitmapImage UriSource="C:\Users\MyName\Documents\Database\image.jpg"/>
</Image.Source>

</Image>
</Grid>

参照画像 (つまり、Assets/Logo.png) を読み込むと、正しく読み込まれます。また、必要なすべての機能と宣言をアプリケーション マニフェストに追加しました。

4

1 に答える 1

0

XAMLは正しく見えます。画像パスが無効である可能性があります。ただし、次のように簡単に書くことができます。

<Image HorizontalAlignment="Left" Height="265" Margin="191,145,0,0" VerticalAlignment="Top" Width="660"
       Source="C:\Users\MyName\Documents\Database\image.jpg" /> 

パス文字列は自動的にImageSourceインスタンスに変換されます。

コードでは、Uriパラメーターを指定してBitmapImageコンストラクターを使用する必要があります。それ以外の場合は、BeginInitEndInitを呼び出す必要があります。

Dim uri As New Uri("C:\Users\MyName\Documents\Database\image.jpg")
Dim bitmapimage As New BitmapImage(uri)
myimage.Source = bitmapimage
于 2012-08-18T12:54:58.347 に答える