这里通过ImageBrush来实现背景图片

我这里写了个demo,通过鼠标点击事件,来修改背景图片

using Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
using System.Windows.Media.Imaging;namespace MvvmImageBrush
{public class MainWindow_Vm: ObservableObject{bool m_ArrowImageDown = true;ImageBrush _ArrowImageBrush;public ImageBrush ArrowImageBrush{get{return _ArrowImageBrush;}set{UpdateProperty(ref _ArrowImageBrush, value);}}public DelegateCommand _CmdClick => new DelegateCommand(CmdClick);private void CmdClick(object obj){if (true == m_ArrowImageDown){ImageBrush imageBrush = new ImageBrush{ImageSource = new BitmapImage(new Uri("arrow_up.png",UriKind.Relative))};ArrowImageBrush = imageBrush;}else{ImageBrush imageBrush = new ImageBrush{ImageSource = new BitmapImage(new Uri("arrow_down.png",UriKind.Relative))};ArrowImageBrush = imageBrush;}m_ArrowImageDown = !m_ArrowImageDown;}}
}
<Window x:Class="MvvmImageBrush.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:MvvmImageBrush"mc:Ignorable="d"Title="MainWindow" Height="450" Width="800"><Window.Resources><Style x:Key="NoMouseOverButtonStyle" TargetType="{x:Type Button}"><Setter Property="BorderThickness" Value="1"/><Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/><Setter Property="HorizontalContentAlignment" Value="Center"/><Setter Property="VerticalContentAlignment" Value="Center"/><Setter Property="Padding" Value="1"/><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type Button}"><Border x:Name="Chrome" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" SnapsToDevicePixels="true"><ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/></Border></ControlTemplate></Setter.Value></Setter></Style></Window.Resources><Grid><Button Style="{StaticResource NoMouseOverButtonStyle}" Width="22" Height="22" Command="{Binding _CmdClick}" Background="{Binding ArrowImageBrush,UpdateSourceTrigger=PropertyChanged}">1111</Button></Grid>
</Window>

这里遇到一个坑,就是一直找不到图片,

通过研究发现需要把图片熟悉的资源修改成无,就可以了

如下图:

效果如下:

wpf之代码设置背景图片相关推荐

  1. php设置背景图片的代码,css设置背景图片如何实现?(代码实例)

    本篇文章给大家带来的内容是关于css设置背景图片如何实现?(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 很多人提交表单时都喜欢用一个图片来作为提交按钮,大多数人可能用J ...

  2. java主界面设置背景图片_java 窗体设置背景图片问题?(附上登陆界面代码,我想加个背景图片,求大神帮忙改改)...

    java 窗体设置背景图片问题?(附上登陆界面代码,我想加个背景图片,求大神帮忙改改) 关注:223  答案:4  mip版 解决时间 2021-01-26 22:09 提问者非莪莫属 2021-01 ...

  3. html背景图片只显示一张图片,img只显示图片一部分 或 css设置背景图片只显示图片指定区域(示例代码)...

    17:14 2016/3/22 img只显示图片一部分 或 css设置背景图片只显示图片指定区域 background-position: 100% 56%; 设置背景图片显示图片的哪个坐标区域,图片 ...

  4. java窗体背景图片_java 窗体设置背景图片问题 (附上登陆界面代码,我想加个背景图...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 java 窗体设置背景图片问题 (附上登陆界面代码,我想加个背景图片,求大神帮忙改改) package com.qx; import java.awt.D ...

  5. background-position—CSS设置背景图片的位置

    background-position :在 CSS 中通过 background-position 属性可以调整背景图片的位置.因为在默认情况下背景图片都是从设置了 background-posit ...

  6. 设置背景图片,解决手机上背景图片高度适应问题

    设置背景图片,解决手机上背景图片高度适应问题 第一种方法:直接对图片进行设置,代码如下 <img src="url" class="PhoneBack"& ...

  7. echarts热力背景图_Echarts 图表中设置背景图片

    在项目开发过程中,遇到在Echarts图表上添加背景图的需求,通过查找Echarts官网的配置项,发现 graphic 能够实现在图表中设置背景图片. image 在Echarts的实例中,找到一个实 ...

  8. [css] 如何设置背景图片不随着文本内容的滚动而滚动?

    [css] 如何设置背景图片不随着文本内容的滚动而滚动? 直接对div设置background:url不就好了嘛?上代码.<!DOCTYPE html> <html lang=&qu ...

  9. .net的label的背景如何设置成为透明_css如何设置背景图片?background属性添加背景图片...

    在前端开发过程中,为了页面的美观,往往都会给html页面添加背景图片.那么如何利用css设置html中用图片做背景?本章就给大家介绍css怎样设置背景图片.有一定的参考价值,有需要的朋友可以参考一下, ...

最新文章

  1. Linux 操作系统原理 — 内存 — 内存分配算法
  2. CVPR 2022 57 篇论文分方向整理 + 打包下载|涵盖目标检测、语义分割、人群计数、异常检测等方向
  3. 集群管理工具KafkaAdminClient——改造
  4. SmartGit使用教程
  5. Kubectl指令集
  6. 【BZOJ3759】【cogs1603】饥饿游戏,博弈
  7. 【jQuery笔记Part4】03-事件详解
  8. 从网络上下载文件到本地
  9. 从Bezier到NURBS曲线(1) - Bezier曲线
  10. 华为荣耀9升降级系统 | 华为荣耀9变砖后如何救砖 | 华为荣耀9获取BL解锁码以及如何解BL锁 | 华为荣耀9如何通过写ramdisk.img来获取root
  11. esp32 esp8285 wf6000OTA升级小记
  12. QT 读取txt 文件
  13. 如何查看本机路由表并进行分析?
  14. python爬虫网页崩溃怎么处理_《Python网络爬虫》1.2 爬取网页的异常处理
  15. 【JY】浅析消能附加阻尼比
  16. iOS-图片可以自适应屏幕大小吗,应该会失真吧?
  17. 2017.10.23 Arduino Atmel EFM32低功耗监测
  18. 数字媒体技术考点整理
  19. win10专业版电脑不能局域网访问win10家庭版
  20. Python数据分析到底可以用来做什么?

热门文章

  1. 使用tar或dd等完成Linux系统备份恢复
  2. 利用光盘恢复grub引导器
  3. 项目管理实例—— 点评
  4. 分布式流控介绍和实现原理
  5. 更好的设计你的 REST API
  6. Javascript第六章JavaScript用new创建对象第一课
  7. 数组成员是函数java_在Laravel 5.6中调用数组上的成员函数links()
  8. django 获取环境变量_django 环境变量配置过程详解
  9. java调用数组计算器_java按钮控件数组实现计算器界面示例分享
  10. 康博(COMPUWARE)软件公司简介