none
【WPF Button Background】鼠标移动到按钮上时背景会消失,不如保持按钮背景不变? RRS feed

  • 问题

  • hello everyone,

    遇到一个关于Button背景图片的问题,求助。

    我在代码中创建了一个按钮,并设置了背景图片:

    Button appBtn = new Button() { Width = 100, Height = 100 }; .....

    Uri uri = new Uri(m_iconPathList[no].ToString(), UriKind.Relative); ImageBrush ib = new ImageBrush(); ib.ImageSource = new BitmapImage(uri); appBtn.Background = ib;

    但当鼠标移到按钮上时按钮的图片会消失。

    是不是因为没有设置Triggers的原因?如果是,在cs文件中如何设置?困扰了两天,查了很多资料,但仍无法解决问题。

    另外,鼠标移动到按钮上时Cursor能否去掉?如果可以,该如何操作?

    以上。

    2015年3月22日 7:09

答案

  • 你好, iezhaozhiqiang:

    关于按钮:

    1. 如果你需要系统自带的按钮效果, 仅仅是想保持 按下 状态的背景, 那么你可能需要自己按钮的Template. 最好是在预设Template的基础上进行修改.

    Button的Template可参考: https://msdn.microsoft.com/zh-cn/library/ms753328(v=vs.110).aspx

    2. 如果你不需要系统自带的按钮效果, 仅仅是想要一个元素来充当按钮的功能, 那么你可以直接使用Image或Border控件, 然后判断其MouseLeftButtonDown/Up来模拟Click.

    关于Cursor:

    并不是很理解你说的"去掉Cursor", 如果你是指隐藏鼠标指针, 那么可以设置Button的Cursor属性为"None".

    2015年3月23日 2:16