Entwickler-Ecke
WPF / Silverlight - in Rechteck zeichnen
Peter1000 - Fr 30.01.15 15:10
Titel: in Rechteck zeichnen
Hallo,
ich möchte in ein Rechteck zeichnen, als Schriften und Linie etc.. Diese Rechteck möchte ich dann an beliebiger Stelle im Fenster ausgeben(Canvas).
wie geht das am einfachsten in c#?
THX
rapgru - Fr 30.01.15 16:15
Habe ich dich richtig verstanden? Du willst in ein Rechteck Inhalt füllen, und dann mit Koordinaten wo anders hinplatzieren?
Dann würde ich's mit nem Canvas tun.
C#-Quelltext
1: 2: 3: 4:
| private void RechteckPlatzieren(double x_coords, double y_coords, Canvas canvas) { canvas.Margin = new System.Windows.Thickness(x_coords, y_coords, this.Width - (x_coords + canvas1.Width), this.Height - (y_coords + canvas1.Height)); } |
Zu verwenden: (x_coord_tx und y_coord_tx sind zwei Textboxen in die Koordinaten geschrieben werden können; und canvas1 ist das zu verschiebende Canvas)
C#-Quelltext
1: 2: 3: 4:
| private void button2_Click(object sender, RoutedEventArgs e) { RechteckPlatzieren(Convert.ToDouble(x_coord_tx.Text), Convert.ToDouble(y_coord_tx.Text), canvas1); } |
Funktioniert bei mir in WPF sehr gut, wenn es bei dir den Fehler ausgibt, dass Margin nicht im Kontext vorhanden ist dann bitte melden!
LG
rapgru,
hoffe die Frage ist damit geklärt
Peter1000 - Fr 30.01.15 16:29
Plazieren ist soweit klar, danke.
Nur wie schreibe ich was in das Rechteck? Wie ich Z.B. Text in den Canvas schreibe weiß ich, es geht darum wie ich Text, Linien etc. in das Rechteck schreibe.
Moderiert von
Th69: Vollzitat entfernt.
rapgru - Fr 30.01.15 19:06
Soll das "schreiben" vom Benutzer ausgehen oder schon vordefiniert sein?
Peter1000 - Sa 31.01.15 14:29
rapgru hat folgendes geschrieben : |
Soll das "schreiben" vom Benutzer ausgehen oder schon vordefiniert sein? |
Sowohl schon vorher , aber auch während der Laufzeit.
Th69 - Sa 31.01.15 15:40
Hallo Peter,
was für eine Art von Programm soll das werden - so etwas wie ein Diagram Designer?
Gerade auf CodeProject gibt es viele Artikel zu WPF, z.B.
MVVM Diagram Designer [
http://www.codeproject.com/Articles/484616/MVVM-Diagram-Designer]
Oder die Artikelserie "WPF Diagram Designer":
Part 1 [
http://www.codeproject.com/Articles/22952/WPF-Diagram-Designer-Part],
Part 2 [
http://www.codeproject.com/Articles/23265/WPF-Diagram-Designer-Part],
Part 3 [
http://www.codeproject.com/Articles/23871/WPF-Diagram-Designer-Part],
Part 4 [
http://www.codeproject.com/Articles/24681/WPF-Diagram-Designer-Part]
Zu deiner konkreten Frage bzgl. "Schreiben in ein Rechteck" würde ich ein
CustomControl [
https://msdn.microsoft.com/en-us/library/cc295235.aspx] erzeugen, welches selber ein
Canvas ist (oder beinhaltet) und dann darauf zeichnen und dann dieses CustomControl dann wiederum auf dem Haupt-Canvas zeichnen (quasi verschachtelte
Canvas).
Hier noch ein paar weitere Links zu CustomControls:
The differences between CustomControls and UserControls [
http://wpftutorial.net/CustomVsUserControl.html]
How to create a Custom Control [
http://wpftutorial.net/HowToCreateACustomControl.html]
Create a WPF Custom Control, Part 1 [
http://www.codeproject.com/Articles/49797/Create-a-WPF-Custom-Control-Part]
Create a WPF Custom Control, Part 2 [
http://www.codeproject.com/Articles/49802/Create-a-WPF-Custom-Control-Part]
Die geometrischen Objekt befinden sich im Namensbereich
System.Windows.Shape [
https://msdn.microsoft.com/en-us/library/System.Windows.Shapes%28v=vs.110%29.aspx], welche dann zum Zeichnen benutzt werden können, s. z.B.:
Shapes and Custom Drawing in WPF/Silverlight [
http://www.codeproject.com/Tips/557520/Shapes-and-Custom-Drawing-in-WPF-Silverlight]
WPF Arrow and Custom Shapes [
http://www.codeproject.com/Articles/23116/WPF-Arrow-and-Custom-Shapes]
Peter1000 - Di 03.02.15 10:13
Hallo,
also ich habs jetzt einfach mit Canvas in Canvas in XAML gemacht. funktioniert einwandfrei.
Danke.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!