Γρήγορη και εύκολη: Μετακινήσετε ένα ορθογώνιο παραλληλόγραμμο με C# σε ένα App κατάστημα Windows

Συνολική blog φιλοσοφία μου είναι ότι είναι απολύτως εντάξει για να blog σχετικά με το παλιό, εγκαταστάθηκαν θέματα που έχουν καλυφθεί στο θάνατο αλλού.  Υποθέτω ότι αυτό το θέμα είναι ένας από εκείνους, αλλά είμαι blogging αυτό ούτως ή άλλως.

Έχω εργαστεί σε παράθυρο κατάστημα app και είμαι στο τμήμα όπου πρέπει να κάνω κάποια Εμψύχωση.  Για το σκοπό αυτό, Έχω υπολογίζοντας bits και κομμάτια των windows αποθηκεύουν app animation που, όπως βγάζει, είναι αρκετά κοντά στο, αλλά δεν είναι ακριβώς όπως, Κινούμενα σχέδια XAML που βασίζεται στο .NET (Είμαι ακόμα έρχονται να αντιμετωπίσουμε το γεγονός ότι WinRT <> .NET 🙂 ).

Σήμερα το πρωί θα ήθελα να πάρετε μια λαβή για drag and drop ενέργειες.  Καθ οδόν προς που, Πήρε κολλάμε κινείται ένα ορθογώνιο αντί :).  Εδώ είναι ο κώδικας που κινείται ένα ορθογώνιο, όταν ο χρήστης κάνει κλικ στο κουμπί:

   1:   
   2:              MatrixTransform ct = (MatrixTransform)rectBig.RenderTransform;
   3:              Μήτρα m = ct.Μήτρα;
   4:              m.OffsetX  = 10;
   5:              m.OffsetY  = 10;
   6:              CT.Μήτρα = m;
   7:              rectBig.RenderTransform = ct;

Το κόλπο εδώ είναι ότι δεν μπορεί να αλλάξει άμεσα OffsetX ή OffsetY.  Μπορεί να υπάρξει μια πιο έξυπνος τρόπος να γίνει αυτό (και αν γνωρίζετε και αισθάνομαι σαν, Παρακαλώ μετά στα σχόλια). 

Για να γίνει αυτό, Θα πρέπει να:

1. Πάρει την MatrixTransform του ορθογωνίου (με χύτευση RenderTransform).

2. Πάρει τη μήτρα του ότι ο τύπος.

3. Αλλάξετε τη μήτρα του αντισταθμιστικά οφέλη.

4. Εκ νέου εκχώρηση πίνακα πίσω να το MatrixTransform.

5. Εκ νέου εκχώρηση το MatrixTransform πίσω να το ορθογώνιο.

Να το δοκιμάσετε, Έβαλα ένα ορθογώνιο και κουμπί στην οθόνη. Όταν κάνω κλικ στο κουμπί, η παραπάνω λογική να εκτελεί και να κινείται το ορθογώνιο αμέσως.

Κάποια στιγμή, Θα ήθελα να εμψυχώσει αυτό αλλά δεν έχω καμία ιδέα για το πώς να πάρετε μια DoubleAnimation να δουλέψω (Storyboard.SetTargetProperty() είναι ένα μυστήριο για μένα σχετικά με αυτό για την ώρα είναι).

</Τέλος>

undefinedΕγγραφείτε στο blog μου.

Συνέχεια μου για Twitter σε http://www.twitter.com/pagalvin

Αφήνω μια απάντηση

Η διεύθυνση email σας δεν θα δημοσιευθεί. τα απαιτούμενα πεδία είναι επισημασμένα *