1

RadioButtonユーザーがクリックしたものに基づいて、実行時に背景画像を変更する必要があります。私は Visual Studio の WPF プロジェクトでこれを行っておりChecked、xaml.cs ファイルのイベントにコードを配置する必要があります。

私は imgBackground という名前のイメージ コントロールを持っています。そのソース コレクションには 6 つのイメージがあり、ソリューション エクスプローラーのイメージ フォルダーにリストされています。

私はもう試した:

this.imgBackground.Source = "filename.jpg";

引用符の有無にかかわらず、さまざまなパス (ここにすべてをリストするにはさまざまなバリエーションを試しました) を使用しても何も機能しません。何でも実行します (表示されるエラーは、その時点で何をしようとしているかによって異なります)。

4

1 に答える 1

2

次のようなファイル名として相対パスを使用している場合

this.imgBackground.Source = "filename.jpg";

これらのファイルは、プログラムの .exe と同じディレクトリにある必要があります。1 つの回避策は、次のような絶対パスを使用することです。

this.imgBackground.Source = @"C:\MyFolder\MyProject\filename.jpg";

または、さらに WPF のパッケージ化メカニズムを使用するか、画像をリソースとしてアセンブリにパックします。このスレッドを見てください。

編集:

明確にするために:

Source-property は、提供する必要がある -object を要求しますSystem.Windows.Media.ImageSource。次のようにします。

BitmapImage bi3 = new BitmapImage();
bi3.BeginInit();
bi3.UriSource = new Uri("filename.jpg", UriKind.Relative);
bi3.EndInit();
this.imgBackground.Source = bi3;

こちらのドキュメントを参照してください。

于 2013-03-22T08:52:28.010 に答える