.
Anmeldung | Registrieren | Hilfe
in Suchen

Linegeometry.Endpoint über Multibinding Converter

Letzter Beitrag 08. Apr 2016 11:53 von Jan. 0 Antworten.
Seite 1 von 1 (1 Treffer)
Beiträge sortieren: Zurück Weiter
  • 08. Apr 2016 11:53

    • Jan
    • Nicht gereiht
    • Registriert am 08. Apr 2016
    • Beiträge 1
    • Punkte 5

    Linegeometry.Endpoint über Multibinding Converter

    Hallo,
    ich würde gerne den Endpunkt einer Linie über ein Multibinding Converter ermitteln lassen.
    Hier mein Ansatz:

    <div Stroke="#ffa31a" StrokeThickness="2.5" Stretch="None"><Path.Data><div><!--<LineGeometry StartPoint="0,8" EndPoint="50,8" />--><div><LineGeometry.StartPoint><div X="0" Y="8"></LineGeometry.StartPoint><div><LineGeometry.EndPoint><div Converter="{StaticResource EndpointConverter}" Source="0" Source="8" Source="80" Path="Value"></LineGeometry.EndPoint><div></Path.Data><div>

    </div><div>Public Class EndpointConverter</div><div>    Implements IMultiValueConverter</div><div>
    </div><div>    ' 1) X-Wert Startpunkt</div><div>    ' 2) Y-Wert Startpunkt</div><div>    ' 3) Länge gesamt</div><div>    ' 4) Länge prozentual</div><div>
    </div><div>    Public Function Convert(values() As Object, targetType As System.Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IMultiValueConverter.Convert</div><div>        Try</div><div>            Dim x As Integer = Math.Round(CType(values(3), Double) * values(3), 0)</div><div>            Return New Point(x, values(1))</div><div>        Catch ex As Exception</div><div>            Return New Point(0, 0)</div><div>        End Try</div><div>    End Function</div><div>
    </div><div>    Public Function ConvertBack(value As Object, targetTypes() As System.Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object() Implements System.Windows.Data.IMultiValueConverter.ConvertBack</div><div>        Throw New NotSupportedException()</div><div>    End Function</div><div>End Class</div><div>


    Der Gleiche Ansatz funktioniert bei einem Rect für eine RectangleGeometry. Aber in dem Fall der Endpunkt Ermittlung nicht. Die Linie wird immer mit einer sehr kurzen Länge (ca. 1) gezeichnet. Ein Haltepunkt am Anfang der Funktion 'Convert' wird nie erreicht.
    Wo liegt der Fehler?

    P.S. Entschuldigt bitte die schlechte Formatierung. Ich habe die verfügbaren Kodierungselemente verwendet, aber es sieht trotzdem so aus. Im Anhang das Ganze nochmal in lesbarer Form.
    • IP-Adresse ist Registriert
Seite 1 von 1 (1 Treffer)

Regeln | Impressum