Sto costruendo un'applicazione fotografica, utilizzando un FlipView
e un listView
come impaginazione. Quando faccio clic sull'immagine in miniatura nello ListView
, viene visualizzata la stessa immagine nello FlipView
. E quando faccio scorrere lo FlipView
, qualsiasi foto selezionata selezionerà la stessa immagine nel ListView
. Questo viene fatto aggiungendo ad entrambi:Calcolare l'offset orizzontale per scorrere ListView al centro dell'oggetto Selected
Al ListView
:
SelectedIndex="{Binding Path=SelectedIndex, ElementName=flipView1, Mode=TwoWay}
E alla FlipView
:
SelectedIndex="{Binding Path=SelectedIndex, ElementName=listView1, Mode=TwoWay}
E per l'evento ListView SelectionChanged
ho aggiunto:
if (e.AddedItems.Count > 0)
listView1.ScrollIntoView(e.AddedItems.First(), ScrollIntoViewAlignment.Leading);
Il mio unico problema è che quando faccio scorrere lo FlipView
, l'immagine desiderata viene selezionata nello ListView
ma lo ScrollViewer
non viene spostato su di esso. Ho provato ad utilizzare WinRTXamlToolkit
per cambiare la posizione del ScrollViewer
:
private void pageRoot_Loaded()
{
// count number of all items
int itemCount = this.listView1.Items.Count;
if (itemCount == 0)
return;
if (listView1.SelectedIndex >= itemCount)
listView1.SelectedIndex = itemCount - 1;
// calculate x-posision of selected item
double listWidth = this.listView1.ActualWidth;
double xPos = (listWidth/itemCount) * listView1.SelectedIndex;
// scroll
var scrollViewer2 = listView1.GetFirstDescendantOfType<ScrollViewer>();
if (scrollViewer2 != null)
scrollViewer2.ChangeView(xPos, 0.0, 1);
}
La prima volta listWidth
è 1600.0
e poi diventa 0.0
tutto il tempo, che dà xPos = 0.0
!
Come posso risolvere questo?
un 'ListViewItem' ha un' metodo BringIntoView' – Julien
'BringIntoView' non esiste in Windows 8.1! 'BringIntoViewOnFocusChanged' esiste per' ScrollViewer' ma non funziona come previsto! – yalematta
La lista è a scorrimento verticale o orizzontale? Proverò a controllare dbl ma a visualizzare ho pensato che è su listview1. Tutti i tuoi articoli hanno le stesse dimensioni nella lista? – Quincy