[WPF]ボタンなどに配置したリソースを動的に書き換える簡単な方法

Re[4]: WPFでImage画像を変更するには?
調べたらなんかめんどくさそうだったので簡単にやる方法 編み出してみた・ω・

BitmapImage m1;
BitmapImage m2;

  :

m1 = new BitmapImage(new Uri("pack://application:,,,/クラス名;component/[pngファイル名]", UriKind.RelativeOrAbsolute));
m2 = new BitmapImage(new Uri("pack://application:,,,//クラス名;component/[pngファイル名2]", UriKind.RelativeOrAbsolute));

  :

img1.ImageSource = 条件?m1:m2; 

プログラム内ではこんな感じ

<controls:コントロール名 x:Name="control1" Height="100" Canvas.Left="100" Canvas.Top="20" Width="20" Opacity="0.8">
<controls:コントロール名.Background>
 <ImageBrush x:Name="img1" ImageSource="./画像ファイル名" Stretch="Uniform">   </ImageBrush>
</controls:コントロール名.Background>
</controls:コントロール名> 

該当の xaml

png はリソースファイルとして、プロジェクトから既存のファイルの追加をすれば完成 ・ω・

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です