InkCanvas

  • WPF

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von SeriTools.

    Hallo zusammen,

    mit meinem per ElementHost eingebundenem InkCanvas-Control habe
    ich ein paar Sachen vor, die allerdings nicht so ganz klappen wollen...

    Die Schilderungen der Probleme:

    1. Proportionales Verkleinern der Stroke-Objekte


    -> Problem: Das funktioniert nur mit "Transform".
    Da muss eine Matrix für definiert werden.
    Habe schon gesucht, aber keine vernünftige Erklärung dafür
    gefunden.
    Die Stroke-Objekte sollen beim Verkleinern des Formulars
    an dessen Größe angepasst werden.

    2. Ändern der Farbe & Dicke ausgewählter Stroke-Objekte

    -> Problem: Ich finde die Eigenschaft nicht, die die ausgewählten Stroke-Objekte
    kapselt. Die Funktion "GetSelectedStrokes()" geht leider nicht.
    Man soll im EditingMode "Select" Strokes auswählen können,
    die dann in Farbe & Dicke verändert werden sollen.

    Hoffe auf gute Lösungen :) .

    VisualBasic-Frager

    *Topic verschoben*

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „nikeee13“ ()

    Zu 1.: Pack eine Viewbox mit Stretch=Uniform um den InkCanvas:

    XML-Quellcode

    1. <Viewbox Stretch="Uniform">
    2. <InkCanvas />
    3. </ViewBox>


    Zu 2.: Dieses Sample könnte dir helfen: msdn.microsoft.com/en-us/libra…io/aa972158(v=vs.90).aspx
    | Keine Fragen per PN oder Skype.
    Hallo SeriTools,

    eine interessante Funktion in dem Code deiner Verlinkung
    ist die Undo/Redo-Methode, die leider nur mit XAML
    aufrufbar ist:

    <MenuItem Header="Undo" Command="ApplicationCommands.Undo"/>

    Die entsprechenden Funktionen sind in der Klasse "undoredo.vb" definiert.

    Nun habe ich 2 Möglichkeiten ausprobiert, die
    Funktion in VB aufzurufen, die jedoch beide scheiterten ?( :

    CommandStack.Undo()
    Fehler:
    Der Verweis auf einen nicht freigegebenen Member erfordert einen Objektverweis.

    ApplicationCommands.Undo()
    Fehler:
    Eigenschaftenzugriff muss der Eigenschaft zugewiesen werden oder deren Wert verwenden.

    Dasselbe gilt natürlich auch für die Funktion "Redo".

    Bezüglich des Veränderns der Stroke-Eigenschaften zur Laufzeit
    fand ich in dem Code nichts.

    Die Idee mit der Viewbox hat super funktioniert :) !

    VisualBasic-Frager