WPF 自定义一个Button控件,通过设置3个张图片,实现:平常状态、鼠标移入、鼠标按下时分别显示3张图片

使用时这么写:<local:MyButtonNormal="images/normal.png"High="images/high.png"Down="images/do... 使用时这么写:
<local:MyButton Normal="images/normal.png" High="images/high.png" Down="images/down.png"/>
展开
 我来答
Mickal小米
2013-04-06 · TA获得超过3666个赞
知道大有可为答主
回答量:1542
采纳率:100%
帮助的人:1767万
展开全部
wpf的控件可以使用trigger(触发器)来更改控件不同状态下的显示。
例如你要设置鼠标按下时字体的大小
<Style.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property="FontSize" Value="20"/>
</Trigger>
</Style.Triggers>
按照你的目标,你首先要修改button的模板。在button的template里加
<Grid>
<Image Name="img1" Source="/WpfApplication1;component/Image/1.jpg" Visibility="Visible"/>
<Image Name="img2" Source="/WpfApplication1;component/Image/2.jpg" Visibility="Collapsed"/>
<Image Name="img3" Source="/WpfApplication1;component/Image/3.jpg" Visibility="Collapsed"/>
</Grid>
然后修改相应的trigger即可。
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="img1" Property="Visibility" Value="Collapsed"/>
<Setter TargetName="img2" Property="Visibility" Value="Visible"/>
<Setter TargetName="img3" Property="Visibility" Value="Collapsed"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="img1" Property="Visibility" Value="Collapsed"/>
<Setter TargetName="img2" Property="Visibility" Value="Collapsed"/>
<Setter TargetName="img3" Property="Visibility" Value="Visible"/>
</Trigger>
zhouxiang_1216
2013-04-05 · TA获得超过2591个赞
知道大有可为答主
回答量:1286
采纳率:33%
帮助的人:1368万
展开全部
使用这种写法的话,就不是定义样式和触发器的作法了,你得继承一下Button,然后定义依赖项属性。
代码就不在这里写了,麻烦,百度Hi上说吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MyAppleKnows
2013-04-05 · TA获得超过695个赞
知道小有建树答主
回答量:448
采纳率:0%
帮助的人:416万
展开全部
不需要自定义控件,那是winform的做法。
使用style和触发器
或者修改控件模板。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式