Qualcuno può spiegare il significato di manipulation modes come TranslateX
, TranslateRailsX
, TranslateInertia
? Che cos'è un rail mode
? E di quale inerzia stanno parlando?ManipulationMode spiegato
risposta
Con rotaie - quando il processore di input rileva se la manipolazione è prevalentemente verticale o prevalentemente orizzontale, si attacca al rispettivo asse quando si riportano valori delta/cumulativi di traslazione. Altrimenti, consente semplicemente di manipolare liberamente qualsiasi cosa tu stia manipolando. I flag delle rotaie devono essere usati in combinazione con i flag non-rail, quindi solo TranslateRailsX
non funziona. Hai bisogno di entrambi e TranslateX
per ottenere qualcosa.
Il flag TranslateInertia
consente di gestire facilmente i flicker o le rotazioni/le scale inerziali in caso di altri flag di inerzia. Fondamentalmente se aggiungi questo flag allo TranslateX
per esempio e fai un gesto rapido, continuerai a ricevere gli eventi di input (ManipulationDelta
) per un po 'anche dopo che il gesto è stato completato. Si ottiene anche l'evento ManipulationInertiaStarting
quando si sfiora una volta terminato il flusso di input, in modo da poter controllare fino a che punto il colpo va se lo si desidera. È possibile controllare my extensions sull'argomento di quell'evento in WinRT XAML Toolkit per ottenere un maggiore controllo sulla balistica del colpo.
tuo ManipulationDeltaEventArgs
avere una proprietà IsIntertial
si può anche utilizzare per controllare se gli eventi che si stanno ottenendo sono direttamente da eventi di input o il risultato di un film e anche chiamare Complete()
se per qualche motivo non si vuole continuare a ricevere la eventi delta per il film.
Se avete bisogno sia di TranslateRailsX che di TranslateX, come mai il msdn doc dice: "Non combinare i valori di Translate * con i valori di TranslateRails *, questi sono trattati come valori mutuamente esclusivi"? https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.uielement.manipulationmode – user362178
Ecco un semplice esempio che mostra come ho implementato TranslateRailsX/Y.
Volevo che si registrasse solo lo scorrimento orizzontale ma usando solo TranslateX/Y si stava sollevando verso sinistra o verso destra anche se stavo scorrendo verso l'alto o verso il basso.
Quindi, solo un semplice XAML e, come nel mio caso, desidero solo i salti orizzontali, non i salti verticali.
file XAML:
<Grid Background="WhiteSmoke">
<WebView Name="webview" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
</Grid>
xaml.cs di file:
int x1;
int x2;
int y1;
int y2;
public MainPage()
{
this.InitializeComponent();
webview.ManipulationMode = ManipulationModes.TranslateRailsX | ManipulationModes.TranslateRailsY;
webview.ManipulationStarted += (s, e) => x1 = (int)e.Position.X;
webview.ManipulationStarted += (s, e) => y1 = (int)e.Position.Y;
webview.ManipulationCompleted += (s, e) =>
{
x2 = (int)e.Position.X;
y2 = (int)e.Position.Y;
System.Diagnostics.Debug.WriteLine(x1);
System.Diagnostics.Debug.WriteLine(x2);
System.Diagnostics.Debug.WriteLine(y1);
System.Diagnostics.Debug.WriteLine(y2);
if (x1 > x2)
{
System.Diagnostics.Debug.WriteLine("right");
};
if (x1 < x2)
{
System.Diagnostics.Debug.WriteLine("left");
}
};
E ora ottengo il seguente su un colpo verticale
x1 180
x2 180
y1 201
y2 386
e scorrere orizzontale
x1 89
x2 293
y1 371
y2 371
left or right
Spero che questo aiuti qualcuno nella stessa situazione.
- 1. Let image ManipulationMode capture pointer
- 2. Cloud Foundry ha spiegato
- 3. webapp2 reindirizzamento spiegato
- 4. H.264 codec spiegato
- 5. codice Ruby ha spiegato
- 6. Math.random() ha spiegato
- 7. std :: shared_ptr filo di sicurezza ha spiegato
- 8. ConstraintKinds spiegato in un esempio semplicissimo
- 9. C- ciclo while non-ha spiegato il comportamento
- 10. Spiegare la sicurezza dell'inizializzazione come spiegato nella memoria Java modello
- 11. scikit-learn kernel PCA ha spiegato la varianza
- 12. Strano comportamento del join esterno completo in Oracle: come potrebbe essere spiegato?
- 13. formato bib-style per file bibtext bst, spiegato da un esempio
- 14. Tipi di enum come spiegato in Java efficace da Joshua Bloch
- 15. ANTLR: come può essere spiegato il comportamento di questa grammatica che riconosce i suffissi di un codice Java?
- 16. Posso scegliere più di un valore per un attributo in XAML?
- 17. Applicazione Windows 8.1 Metro: pizzica e ingrandisci un'immagine
- 18. Come si ottiene un ScrollViewer con un rettangolo all'interno per interrompere lo scorrimento quando raggiunge la fine del rettangolo?
- 19. Come visualizzare UIElement ma senza interazioni dell'interfaccia utente (ad tocchi, scatti, ...)
- 20. Che cos'è un oggetto "serializzato" nella programmazione?
- 21. Qual è il parametro name in Pandas Series?
- 22. Che cos'è l'effetto di aliasing dei dati in modalità di sospensione?
- 23. Il metodo flush di OutputStream non fa nulla?
- 24. Che cos'è esattamente una release in GitHub?
- 25. Che cosa fa Rails.application.eager_load! fare?
- 26. Che cos'è la prelazione/Che cos'è un kernel preimpostato? Per cosa è buono?
- 27. Merge o Rebase o Branch Default In Android Studio? Quali sono le differenze?
- 28. Che cos'è Super Object in CodeIgniter?
- 29. Cosa sono i repository Speciali in Github?
- 30. Problema di autenticazione di Windows con Safari 5.x in Windows 7
Penso che l'API sia solo in WinRT/XAML e non in WPF, quindi ho rimosso il tag WPF dalla domanda e aggiunto il runtime di Windows uno per chiarezza. –