none
thumb

    Frage

  • Hallo Tom Lambert, schlug mir unteres vor.

    Wie Verknüpfe ich das mit Thumb_MouseMove, oder kann ich das Thumb einfach greifen.

    Das Problem in nur, ich verwende kein Elipse, son Image das im CodeBehiind erstellt wird.

    Danke für die Hilfe

    Hallo,
    ich beziehe meine Antwort auf deine vorherige Frage mit der Karte.

    Ich würde dafür einen Thumb über die Karte legen. Durch ein ControlTemplate kannst du ihn so gut wie unsichtbar machen (er darf nicht voll transparent sein!) und über das gesamte Canvas legen:

    <Canvas Name="canv" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
        <!--Zum testen der Verschiebung-->
        <Ellipse Canvas.Left="10" Canvas.Top="10" Height="10" Width="10" Name="ellipse" Fill="red"/>
    </Canvas>
    <Thumb DragStarted="Thumb_DragStarted" DragDelta="Thumb_DragDelta" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
        <Thumb.Template>
            <ControlTemplate>
                <Border Background="#80808080" BorderThickness="0"/>
            </ControlTemplate>
        </Thumb.Template>
    </Thumb>
    Durch die Abonnierten Events kannst du im Codebehind alle Kartenteile verschieben:
    Point dragStarted;
    private void Thumb_DragStarted(object sender, System.Windows.Controls.Primitives.DragStartedEventArgs e)
    {
        dragStarted = new Point(0, 0);
    }
    
    private void Thumb_DragDelta(object sender, System.Windows.Controls.Primitives.DragDeltaEventArgs e)
    {
        Canvas.SetLeft(ellipse, Canvas.GetLeft(ellipse) - dragStarted.X + e.HorizontalChange);
        Canvas.SetTop(ellipse, Canvas.GetTop(ellipse) - dragStarted.Y + e.VerticalChange);
        dragStarted = new Point(e.HorizontalChange, e.VerticalChange);
    }
    Im Beispiel habe ich nur die Ellipse verschoben. Du müsstest alle Images verschieben.


    Tom Lambert - C# MVP
    Bitte bewertet- und markiert Beiträge als Antwort. Danke.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    Sonntag, 10. August 2014 12:50

Antworten

Alle Antworten