2009-09-25 30 views
5

Tôi muốn tạo một ứng dụng WPF theo dõi vị trí của con trỏ chuột, cập nhật hình ảnh trong trình xử lý sự kiện MouseMove. Suy nghĩ ban đầu của tôi là tạo ra một GeometryDrawing và sau đó thêm đường dẫn đến đó nhưng tôi đang đấu tranh với cách để dây này lên trong mã (mặc dù Xaml cho GeometryDrawings có vẻ đơn giản). Cách dễ nhất để kết nối công cụ này là gì - nó chỉ để gỡ lỗi vì vậy tôi không quan tâm đến hiệu quả.Cách dễ nhất để vẽ một chuỗi các điểm trong WPF từ mã

+0

Tôi không hoàn toàn những gì bạn đang cố gắng làm ... nhưng đừng quên về InkCanvas cho phép bạn để 'mực' trên đầu trang của một cái gì đó ... một cách tương đối dễ dàng. Nhưng InkCanvas không trả lời câu hỏi của bạn, nên tôi nghĩ tôi sẽ bình luận. – cplotts

Trả lời

13

Còn về việc sử dụng Polyline thì sao?

Đây là XAML:

<Window 
    x:Class="CursorLine.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="Window1" 
> 
    <Canvas x:Name="canvas" Background="#00FFFFFF" MouseMove="Canvas_MouseMove"> 
     <Polyline x:Name="polyline" Stroke="DarkGreen" StrokeThickness="3"/> 
    </Canvas> 
</Window> 

Dưới đây là đoạn code sau:

private void Canvas_MouseMove(object sender, MouseEventArgs e) 
{ 
    polyline.Points.Add(e.GetPosition(canvas)); 
} 
+0

Wicked đơn giản - cảm ơn !! –

+0

Cảm ơn ... vui vì đó là những gì bạn đang tìm kiếm. – cplotts

+0

Hoàn hảo! Tôi đã đấu tranh với dữ liệu Đường và Hình học – hoang

2

Sử dụng GeometryGroup. Điều này có thể có nhiều hình học con: trong trường hợp của bạn, bạn sẽ thêm một EllipseGeometry cho mỗi điểm di chuyển chuột, tập trung vào vị trí con chuột. Vì vậy, một cái gì đó như:

private GeometryGroup _allMousePoints = new GeometryGroup(); 

void OnMouseMove(...) 
{ 
    _allMousePoints.Children.Add(
    new EllipseGeometry { 
     Center = mouseLocation, 
     RadiusX = 3, 
     Radius Y = 3 
    }); 
} 

Bây giờ bạn có thể sử dụng _allMousePoints làm Hình học của Hình học hoặc Dữ liệu của đường dẫn.

Các vấn đề liên quan