如何将数据绑定径向渐变的X / Y坐标与Blend中鼠标光标的X / Y坐标?

时间:2015-04-02 07:23:39

标签: wpf data-binding blend mouse-position

我正在关注如何在VS Blend中创建Windows Vista / 7样式的玻璃按钮的this教程(我正在使用VS 2013社区版)。当谈到按钮闪耀时,我想重新创建Windows 7如何处理任务栏上的按钮 - 例如,当鼠标悬停在按钮上时,组成闪光本身的径向渐变总是以光标为中心

我的想法是,我想将渐变(x和y)的位置绑定到光标坐标。

如何在Blend中将径向渐变的坐标数据绑定到鼠标光标的x / y坐标?

1 个答案:

答案 0 :(得分:3)

一种方法是向视图添加依赖项属性,并将其挂钩到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); }
    }

然后在MouseMove处理程序中,更新此点。在XAML中(这是一个矩形,对于你的控件应该是类似的):

<Rectangle>
    <Rectangle.Fill>
        <RadialGradientBrush GradientOrigin="{Binding MousePoint}"/>
    </Rectangle.Fill>
</Rectangle>