1

私はアプリケーションを開発していますが、clientbin フォルダーではなく、サーバーに配置されたフォルダーにあるイメージをロードします。私はこの BitmapImage bit = new BitmapImage(); のようなことをします。文字列パス = "c:/image.png"; bit.UriSource = new Uri(パス, UriKind.Absolute); identity.Source = ビット; しかし、それは機能しません。ありがとう

4

3 に答える 3

1

試す:

Image.Source = New Imaging.BitmapImage(New Uri(" http://www.Pic.jpg ", UriKind.Absolute))

プロジェクトに含めたくない場合、または .xap が巨大になります。

于 2009-04-09T12:43:18.490 に答える
0

ビルの答えに追加します。xap ファイルの場所から派生した次のヘルパー メソッドを使用して、サーバー側のリソースを使用することもできます。

public static string GetUrlForResource(string resourcePage)
{

    var webUrl = Application.Current.Host.Source.ToString();
    //Get ClientBin Directory
    var stub = webUrl.Substring(0, webUrl.LastIndexOf("/"));
    //Get application root.
    stub = stub.Substring(0, stub.LastIndexOf("/") + 1);
    //Append the application root to the resource page.
    webUrl = stub + resourcePage;

    return webUrl;
}

ビルの答えのように使用するには、次を使用します。

Image.Source = new Imaging.BitmapImage(new Uri(GetUrlForResource("images/myimage.png"), UriKind.Absolute));
于 2017-01-04T16:15:44.510 に答える
0

Silverlight アプリケーションはサーバー上ではなくクライアント上で実行されるため、これまで試みてきたようにパスを参照すると、実際にはアプリケーションを実行しているクライアント マシン上のパスを指すことになります。ただし、Silverlight には、セキュリティ上の理由から、クライアントのディスクを読み書きする権限がありません。分離ストレージ機能は例外です。

したがって、あなたの選択肢は、Bill によって与えられた最初の回答、または実装がより複雑な WebService を試すことです。

イブ。

于 2009-04-09T16:04:02.070 に答える