使用 WPF,更新自定义按钮控件背景的最佳方法是什么?
在 WPF 中,我们正在创建继承自具有完全从头开始绘制的 xaml 图形的按钮的自定义控件。 我们在整个按钮 xaml 周围有一个边框,我们希望将其用作当触发器中 MouseOver=True 时更新背景的位置。 我们需要知道的是,当鼠标悬停在按钮上时,如何用渐变来更新该按钮中的边框背景?
In WPF, we are creating custom controls that inherit from button with completely drawn-from-scratch xaml graphics. We have a border around the entire button xaml and we'd like to use that as the location for updating the background when MouseOver=True in a trigger. What we need to know is how do we update the background of the border in this button with a gradient when the mouse hovers over it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您想要添加这样的触发器...
制作这样的样式:
然后为渐变添加一些资源,如下所示:
如果您需要更多帮助,请告诉我。
You would want to add a trigger like this...
Make a style like this:
Then add some resources for the gradients, like this:
Please let me know if you need more help with this.
在您的
ControlTemplate
中,为Border
指定一个Name
,然后您可以在触发器中引用其可视化树的该部分。 下面是重新设计普通Button
的一个非常简短的示例:如果这没有帮助,我们需要了解更多信息,可能会看到您自己的 XAML。 您的描述并没有让我很清楚您的实际视觉树是什么。
In your
ControlTemplate
, give theBorder
aName
and you can then reference that part of its visual tree in the triggers. Here's a very brief example of restyling a normalButton
:If that doesn't help, we'll need to know more, probably seeing your own XAML. Your description doesn't make it very clear to me what your actual visual tree is.