【WPF求助】 按钮背景图片ImageBrush问题,如何去除我下面代码的重复的代码? 5

问题描述:现在我有8个按钮,我需要给这八个按钮赋不同的背景图片ImageBrush,鼠标经过时改变背景图片;资源:项目中建了一个Images文件夹,下面有16张图片:01... 问题描述:现在我有8个按钮,我需要给这八个按钮赋不同的背景图片ImageBrush,鼠标经过时改变背景图片;
资源:项目中建了一个Images文件夹,下面有16张图片:01.jpg 02.jpg 03.jpg ....(鼠标未经过时的图片) a1.jpg a2.jpg a3.jpg ....(鼠标经过时按钮显示的图片) 16张图片各不相同;
我的代码:

<Button name="button1" Width="50" Height="50">
<Style TargetType = "Button">
<Setter Property="Background">
<Setter.Value>
<ImageBrush ImageSource="\Images\01.jpg" />
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" >
<Setter.Value>
<ImageBrush ImageSource="\Images\a1.jpg" />
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Button>

<Button name="button2" Width="50" Height="50">
<Style TargetType = "Button">
<Setter Property="Background">
<Setter.Value>
<ImageBrush ImageSource="\Images\02.jpg" />
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" >
<Setter.Value>
<ImageBrush ImageSource="\Images\a2.jpg" />
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Button>

下面的6个按钮也是这样的代码,由于字数限制,这里写不上了。。。
现在,所有的按钮都是01.jpg,鼠标经过按钮时,所有的按钮都改变为a1.jpg ,求教,求教~~~~
展开
 我来答
411129362
2014-09-01 · TA获得超过4189个赞
知道小有建树答主
回答量:822
采纳率:0%
帮助的人:966万
展开全部

‍‍

<Window.Resources>
 <Style x:key="myButtonStyle" TargetType = "Button">
   <Setter Property="Background">
    <Setter.Value> 
      <ImageBrush ImageSource="\Images\02.jpg" />
    </Setter.Value>
   </Setter>
    <Style.Triggers>
     <Trigger Property="IsMouseOver" Value="True">
       <Setter Property="Background" >
        <Setter.Value> 
      <ImageBrush ImageSource="\Images\a2.jpg" />
    </Setter.Value>
   </Setter>
  </Trigger>
 </Style.Triggers>
</Style>
</Window.Resources>

然后在所有的Button里都可以引用这个样式

<Button name="button1" Style={StaticResource myButtonStyle} Width="50" Height="50"></Button>
 <Button name="button2" Style={StaticResource myButtonStyle} Width="50" Height="50"></Button>
 <Button name="button3" Style={StaticResource myButtonStyle} Width="50" Height="50"></Button>
......
追问
这样不行吧?  因为这样的话所有的Button都是同一张图片了,鼠标经过时也是用的同一张图片,以上面那段程序来看的话,所有的Button背景图片都为02.jpg,鼠标经过时所有的Button背景图片都为a2.jpg
追答
哦,不好意思,没仔细看你的代码,我以为所有按钮都一样的。你这样需求的话没什么特别的好方法了。
稍微精简点,可以配所有按钮的Tag为类似"01-a1","02-a2"这样的,然后公用一个mouse事件,去截取tag来换图片。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式