100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > wpf之代码设置背景图片

wpf之代码设置背景图片

时间:2022-07-19 04:29:47

相关推荐

wpf之代码设置背景图片

这里通过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="/winfx//xaml/presentation"xmlns:x="/winfx//xaml"xmlns:d="/expression/blend/"xmlns:mc="/markup-compatibility/"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>

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

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

如下图:

效果如下:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。