Bir Fotoğraf Uygulaması oluşturuyorum, bir FlipView
ve bir listView
bir Pagination. ListView
'daki küçük resme tıklandığında bana FlipView
numaralı resimde aynı resmi gösterir. Ve FlipView
'a girdiğimde, seçilen herhangi bir fotoğraf ListView
'da aynı resmi seçecektir. Bu ikisine de ekleyerek yapılır:ListView'i SelectedItem öğesinin ortasına kaydırmak için Yatay Ofseti hesapla
ListView
için:
SelectedIndex="{Binding Path=SelectedIndex, ElementName=flipView1, Mode=TwoWay}
Ve FlipView
için:
SelectedIndex="{Binding Path=SelectedIndex, ElementName=listView1, Mode=TwoWay}
Ve ListView SelectionChanged
olaya ekledim:
if (e.AddedItems.Count > 0)
listView1.ScrollIntoView(e.AddedItems.First(), ScrollIntoViewAlignment.Leading);
Tek sorunum,numaralı telefonu kaydırdığımda, istenen resim ListView
'da seçilidir, ancak ScrollViewer
ona kaydırılmaz. Ben ScrollViewer
konumunu değiştirmek için WinRTXamlToolkit
kullanarak çalıştı:
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);
}
ilk kez listWidth
1600.0
ve o zaman xPos = 0.0
verir 0.0
her zaman, olur!
Bunu nasıl düzeltebilirim?
bir 'ListViewItem' bir' BringIntoView' yöntemi – Julien
'BringIntoView' Windows 8.1'de mevcut değil var! 'ScrollViewer' için' BringIntoViewOnFocusChanged' var, ancak beklendiği gibi çalışmıyor! – yalematta
Listeniz dikey mi yatay mı kaydırılıyor? Kontrol etmeyi deneyeceğim ama listview1'de olduğunu düşündüğüm manzaraya getireceğim. Tüm öğeleriniz liste görünümünde aynı boyutta mı? – Quincy