Hi liebe Community,
ich habe eine Klasse geschrieben die von System.Controls.Image erbt. Dort möchte ich in OnRender einen Rahmen mit der Maus zeichnen (der User soll etwas Selektieren können).
Soweit kein Problem, doch wird mein Rahmen unter dem Bild angezeigt was über die Eigenschaft "Source" zugewiesen wird. Kann ich diesem Control das Verhalten irgendwie abgewöhnen? Vielleicht gibt es eine Layerreihenfolge?
Google konnte mir leider nicht helfen 😕
Vielen Dank,
Bytedevil
Hallo ByteDevil,
für die Umsetzung einer solchen Funktion kannst du mal nach Rubberband Adorner suchen.
Hallo pinki,
danke für den Hinweiß, aber ich finde hier nur wenige Links in denen es um ein Canvas geht. Kannst du mir vielleicht noch einen genaueren Tipp geben?
Am liebsten wäre mir natürlich eine Methode um die Zeichenreihenfolge des Image-Controlls zu verändern...
vlt. hast du auch nur ein paar Anweisungen in deim Control in falscher Reihenfolge.
Mehr kann ich dazu nicht sagen, denn ich kenne die Anweisungen in deim Control ja nicht.
Der frühe Apfel fängt den Wurm.
Hallo ByteDevil,
dieser Code zeichnet bei mir über das verwendete Bild:
public class Test : Image
{
protected override void OnRender(DrawingContext dc)
{
base.OnRender(dc);
var size = RenderSize;
dc.DrawRectangle(Brushes.Red, null, new Rect(size.Width / 4, size.Height / 4, size.Width / 2, size.Height / 2));
}
}
Grüße
spooky
Oh Gott ich schäme mich gerade 😄
ErfinderDesRades & Spook ihr habt beide recht. Ich hab base.OnRender() erst nacht meinem Code aufgerufen und natürlich wird dann das Ganze über meinem Rahmen gezeichnet 😕
Ich danke euch 😃