[WPF/XAML] dynamische Korrdinaten in Pfadbeschreibung

kodak

Mitglied
[WPF/XAML] dynamische Koordinaten in Pfadbeschreibung

Hi Leute

ich will ein WPF-Control erstellen, welches einen selbstgezeichneten Rahmen hat.
Es soll ein abgerundetes Rechteck werden, welches bei einer Skalierung zwar seine Größe ändert, aber den Radius der Ecken bebehält. Die Frage ist, wie gebe ich diese informationen in der PathML mit?

hier mein Anfang:
Code:
    <Grid Height="300" Width="300">
        <Path Stroke="OrangeRed" StrokeThickness="2" >
        	<Path.Data>
                                          M  15,   5
                A  10,10 90 0 0   5,  15  L   5, 285
                A  10,10 90 0 0  15, 295  L 285, 295 
                A  10,10 90 0 0 295, 285  L 295,  15 
                A  10,10 90 0 0 285,   5  L  15,   5
        	</Path.Data>
        </Path>
    </Grid>

Wenn ich die Gridgröße ändere, sollen sich auch die Werte in dem Pfad ändern. Kann ich diese Werte irgentwie andocken (ähnlich zu Windows Forms)

Gruß
Kodak
 
Zuletzt bearbeitet:
Hi,

wie Shakie schon gemeint hat:

Code:
<Border CornerRadius="15">
    <Grid ...>
    </Grid>
</Border>
Das wäre der wesentlich einfachere Weg :)
 
Hiho,

Danke für die Antworten. Das lößt erstmal mein problem, beantwortet aber nicht meine Frage mit dem Verankern an Eckpunkte. Gibt es eine Möglichkeit ein punkt relativ zur rechten-unteren Kannte anzugeben?

Grüße
Kodak
 
Ich fange mal andersrum an *g*

Zu WindowsForms zeiten habe ich im OnPaint den Pfad gezeichnet und eben Positionen wie Width-10 und Height-12 verwendet um einen eigenen Rahmen zu zeichenen.

Die Frage ist, gibt es soetwas auch in XAML? Ich meine, ich kann ja üb er die Transformation skalieren, aber da ändern sich alle Werte linear. Aber die Runden Ecken sollen ja gleichgroß bleiben.
 
Nein, ich glaube er will die Breite und Höhe des Borders skalieren, wobei die Ecken jedoch abgerundet sein sollen und zwar immer mit dem selben Krümmungsradius von 5 Pixeln - egal wie groß und breit der Border sonst ist.
Stimmt das so?
Ich würde dazu die Größe des Borders im Code-Behind-File ändern, wenn sich die Größe des Controls ändert, auf dem der Border gezeichnet werden soll.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück