我如何将径向渐变的X/Y坐标绑定到Blend中鼠标光标的X/Y坐标?
问题描述:
我正在关注如何在VS Blend中创建Windows Vista/7样式的玻璃按钮(我正在使用VS 2013社区版)的this教程。当涉及到按钮闪耀时,我想重新创建Windows 7如何处理任务栏上的按钮 - 例如,当鼠标位于按钮上方时,构成闪光的径向渐变本身始终位于光标的中心。我如何将径向渐变的X/Y坐标绑定到Blend中鼠标光标的X/Y坐标?
我的猜测,使这项工作是,我想要将渐变(x和y)的位置绑定到光标坐标。
如何在Blend中将径向渐变的坐标数据绑定到鼠标光标的x/y坐标?
答
一种方法是向视图添加依赖项属性,并将其挂钩到MouseMove事件。
依赖属性:
public static readonly DependencyProperty MousePointProperty = DependencyProperty.Register(
"MousePoint",
typeof (Point),
typeof (MyWindow),
new FrameworkPropertyMetadata(new Point());
public Point MousePoint
{
get { return (Point)GetValue(MousePointProperty); }
set { SetValue(MousePointProperty , value); }
}
然后在鼠标移动处理器,更新了这一点。在XAML(这是一个矩形,应该是你的控制类似):
<Rectangle>
<Rectangle.Fill>
<RadialGradientBrush GradientOrigin="{Binding MousePoint}"/>
</Rectangle.Fill>
</Rectangle>
如何揭露控制的该属性,这样家长可以绑定到它?属性本身存在于我想要重用的模板中,所以这与我想要做的事情有点反直觉...这意味着每次放置控件时,我都必须绑定到该属性上控制并实施您在此处提出的建议。我希望有更多的东西可以拖拽下去...... – Will 2015-04-02 16:57:59
你是说MousePoint属性是在模板类上定义的? – Nzc 2015-04-03 08:40:17