2011-02-09 5 views
0

イムは、現在、XAMLで私のイメージにアクセスすると、私は分離コードでこれを行うだろうかアクセス絵

Source="/SocialShock-WPF-Client;component/Images/blue-bar-replication.png" 

でのPictureBoxにそれを設定しますか?

答えて

1
public static BitmapImage GetImageFromResource(string name) 
    { 
     var res = new BitmapImage(); 
     res.BeginInit(); 
     res.StreamSource = Assembly.GetExecutingAssembly().GetManifestResourceStream("SocialShock-WPF-Client.Images." + name); 
     res.EndInit(); 

     return res; 
    } 

あなたのケースでは「ブルーバーreplication.png」、画像の名前で、このメソッドを呼び出します。 イメージビルドアクションは、EmbededResourceに設定する必要があります。

+0

'PresentationCore.dllで 'System.InvalidOperationException'タイプの最初のチャンス例外が発生しました。 System.InvalidOperationException:プロパティ 'UriSource'またはプロパティ 'StreamSource'を設定する必要があります。で... BottomBarUserControl.xaml.cs .BottomBarUserControl.GetImageFromResourceでSystem.Windows.Media.Imaging.BitmapImage.EndInit() (文字列名)で :行71 でSocialShock_WPF_Client.BottomBarUserControl..ctor()で.. .BottomBarUserControl.xaml.cs:line 55 System.InvalidOperationException:プロパティ 'UriSource'またはプロパティ 'StreamSource'を設定する必要があります。 – caesay

+0

名前、名前空間、およびディレクトリが正しいことを確認してください。 Assembly.GetExecutingAssembly()。GetManifestResourceNames()を試して、画像がリストに表示されていることを確認してください。 – serine

+0

はい、GetManifestResourceNamesリストに表示されます。 – caesay

0

まったく同じ方法です。 BitmapImageオブジェクトを作成します(constructorと同じパスのUriオブジェクトを渡します)。次に、ImageのSourceプロパティを新しく作成したBitmapImageオブジェクトに設定します。

+0

"uriオブジェクトを渡す"? – caesay

+0

@ Tommyはい、対応するコンストラクタへの参照を追加しました。 – Anvaka