的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中做一個矩形對象? –