的WPF程序下面提出了一个窗口,该窗口看起来像这样:黑色正方形外与DrawingContext.DrawRectangle块鼠标绘制一个矩形
鼠标运动导致窗口标题与被更新鼠标的位置。当鼠标进入广场时停止更新。
我希望MouseMove
即使在鼠标在广场上时也能继续触发。有没有办法做到这一点?
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
namespace Wpf_Particle_Demo
{
class DrawingVisualElement : FrameworkElement
{
public DrawingVisual visual;
public DrawingVisualElement() { visual = new DrawingVisual(); }
protected override int VisualChildrenCount { get { return 1; } }
protected override Visual GetVisualChild(int index) { return visual; }
}
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
var canvas = new Canvas();
Content = canvas;
var element = new DrawingVisualElement();
canvas.Children.Add(element);
CompositionTarget.Rendering += (s, e) =>
{
using (var dc = element.visual.RenderOpen())
dc.DrawRectangle(Brushes.Black, null, new Rect(0, 0, 50, 50));
};
MouseMove += (s, e) => Title = e.GetPosition(canvas).ToString();
}
}
}
为什么你使用这样一个奇怪的代码来绘制一个矩形?为什么不在XAML中做一个矩形对象? –