Chciałbym utworzyć aplikację WPF, która śledzi położenie kursora myszy, aktualizując obraz w obsłudze zdarzenia MouseMove. Początkowo myślałem o stworzeniu GeometryDrawing, a następnie dodaniu do niego ścieżek, ale mam problem z tym, jak połączyć to w kod (chociaż Xaml dla GeometryDrawings wydaje się prosty). Jaki jest najłatwiejszy sposób na połączenie tych rzeczy - służy tylko do debugowania, więc nie przejmuję się wydajnością.Najprostszy sposób rysowania sekwencji punktów w WPF z kodu
5
A
Odpowiedz
13
A co z używaniem Polilinii?
Oto 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>
Oto kod za:
private void Canvas_MouseMove(object sender, MouseEventArgs e)
{
polyline.Points.Add(e.GetPosition(canvas));
}
2
Użyj GeometryGroup. Może to mieć wiele geometrii potomka: w twoim przypadku można dodać elipsęGeometry dla każdego punktu ruchu myszy, wyśrodkowanego na miejscu myszy. Więc coś takiego:
private GeometryGroup _allMousePoints = new GeometryGroup();
void OnMouseMove(...)
{
_allMousePoints.Children.Add(
new EllipseGeometry {
Center = mouseLocation,
RadiusX = 3,
Radius Y = 3
});
}
Można teraz używać _allMousePoints jako geometrię GeometryDrawing lub dane ścieżki.
Powiązane problemy
- 1. Najprostszy sposób testowania kodu jednostkowego z Pythonem
- 2. Qt. Najszybszy sposób rysowania 1024x1024 punktów na ekranie
- 3. Najprostszy sposób na wymuszenie awarii w Swift
- 4. Najprostszy sposób na otrzymanie kodu pocztowego od City Name
- 5. Najprostszy sposób sprawdzania numerów
- 6. Najprostszy sposób utworzenia związku z dwóch list
- 7. Najprostszy sposób przekonwertować Unicode kodowy w UTF-8
- 8. Prawidłowy sposób rysowania linii siatki
- 9. Przyspieszenie rysowania wielu punktów na elemencie canvas HTML5
- 10. Najprostszy sposób na cykliczny iterator (cyrkulator)?
- 11. Najprostszy sposób do kwerendy XML w Javie
- 12. Jak wygenerować diagramy sekwencji z kodu źródłowego Java?
- 13. Sposób korzystania z punktów krytycznych Xcode 4
- 14. Najprostszy sposób na pobranie pliku?
- 15. Odśwież elementy ComboBox, najprostszy sposób
- 16. Najprostszy sposób analizowania JSON w Qt 4.7
- 17. Najprostszy sposób testowania ODBC na WIndows
- 18. r punktów w wielokątach
- 19. Najprostszy sposób na uruchomienie strony internetowej w Androidzie z ikoną
- 20. Jaki jest najprostszy sposób na usunięcie pustych NSStrings z NSArray?
- 21. Najlepszy sposób na dzielenie kodu między WPF a Silverlight
- 22. Kafka - najprostszy sposób na uzyskanie ostatniej offsetu
- 23. Najprostszy sposób na utworzenie strumienia z obiektu Java?
- 24. Jaki jest najprostszy sposób udostępniania zasobów między UserControls w bibliotece kontroli użytkownika WPF?
- 25. Najprostszy sposób wykreślić 3d powierzchnię danego 3d punkty
- 26. Jak można uzyskać tablicę punktów kodu Unicode z ciągu .NET?
- 27. generowanie losowej sekwencji i wykresu w R
- 28. Generowanie trójkątów z losowego zestawu punktów
- 29. Najbardziej skuteczny sposób rysowania wielu identycznych obiektów?
- 30. najprostszy sposób przekonwertować macierz jednym rzędzie wektora
I nie dość, co chce zrobić ... ale nie zapominaj o InkCanvas który pozwala do "atramentu" na coś ... w stosunkowo łatwy sposób. Ale InkCanvas nie odpowiada na twoje pytanie, więc pomyślałem, że zamiast tego skomentuję. – cplotts