WPF 按钮 按下后.....

xzjxylophone 2010-07-30 03:36:56
WPF有一个 button, button 的背景是一张图片,
当我运行程序后, 点击button的时候, button会有按下的效果,但同时 背景图片也消失了, 等松开鼠标的时候,背景图片又回来了,

我该如何解决, 当按下鼠标的时候, 背景图片不消失啊?
...全文
271 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xzjxylophone 2010-07-31
  • 打赏
  • 举报
回复
谢谢 sunpire 大神了!
Sunpire 2010-07-30
  • 打赏
  • 举报
回复

<Button Content="Button" Height="49" HorizontalAlignment="Left" Margin="12,12,0,0" Name="button1" VerticalAlignment="Top" Width="109">
<Button.Background>
<ImageBrush ImageSource="/WpfApplication16;component/Images/A.png" />
</Button.Background>
</Button>
<Button Height="49" HorizontalAlignment="Left" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Margin="12,81,0,0" Name="button2" VerticalAlignment="Top" Width="109">
<Button.Content>
<StackPanel >
<StackPanel.Background>
<ImageBrush ImageSource="/WpfApplication16;component/Images/A.png" />
</StackPanel.Background>
<TextBlock Text="Button2" HorizontalAlignment="Center" VerticalAlignment="Center" />
</StackPanel>
</Button.Content>
</Button>


比较 Button1 和 Button2 , Button1应是LZ目前的写法吧,Button2 就是我说法的写法,
注意 HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" ,
用来使得 Button.Content 得以最大化
xzjxylophone 2010-07-30
  • 打赏
  • 举报
回复
能求下 代码 否?
Sunpire 2010-07-30
  • 打赏
  • 举报
回复
最简单的做法是把 图片+Button的文字 放在一起,如放在一个 StackPanel 中,
图片作为 StackPanel 的背景,然后把这个StackPanel 作为 Button.Content 。

因为在 Button 的默认样式模板中, Pressed 状态下不显示背景,但是依然显示Content。

复杂的做法就是新增一个Style、或者去修改Button的默认模板, 针对 Pressed 状态进行更改。

8,731

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧