WPF'de bazı garip davranışlar listesi var.wpf listview, odağı kaybetti
C# 'da uygulama geliştiriyoruz.
ListView'i bazı öğelerle oluşturdum ve Listenin ortasındaki dizinindeki bazı dizinlere SelectedIndex'i ayarladım. Ardından, ListView ve 'daki herhangi bir yerde fareyi tıklattım ve sonra Yukarı/Dows klavye tuşlarıyla gezin, her şey mükemmel çalışıyor. Ama Eğer ben başka denetime odak taşımak ve daha sonra o zaman sorunu alıyorum, kontrolü programlı ListView geri odak ayarlamaya çalışır.
ListView odağı alır, ama klavye ile gezinmek için çalışıyor Ia € ™ m, cari seçimi iptal edilecek ve ne zaman ilk madde seçilmiş olacak ve navigasyon listedeki ilk öğeden başlayacaktır.
Odağı, .Focus() yöntemini çağırarak ListView denetimine ayarlıyorum.
Odak ListView denetimine benziyor, ancak SelectedIndex bazı geçerli değerlere sahip olsa bile odağında gerçekte ürün yok.
Lütfen yardım edin! ListView denetimine odağı programlı olarak olarak nasıl ayarlayabilirim?
Liste görünümümün seçili dizininin odaklanmış öğeden farklı olduğunu öğrendim. kim ??? selectedindex_changed olay
i düzeltme öğesi (5) seçilen endeksini ayarlamak, ama ok tuşlarına bastığınızda madde değiştirildi. anlamına seçilen endeks 5 sabitlenir fakat (bunun çevresinde bir nokta kenarlıklı gösterilen) geçerli öğe ok tuşu yere taşınmış. neyse, benim selectitem'im 5'e kadar düzeltiyor, ancak scrollview'ım geçerli öğenin konumuna göre hareket ediyor.
Bu kod listede bulunmaktadırView1_SelectionChanged: listView1.SelectionMode = SelectionMode.Single; listView1.SelectedIndex = 5;
<l:PlainView x:Key="tileView"
ItemTemplate="{StaticResource centralTile}"
ItemHeight="120" ItemWidth="130" />
ben artık problom hakkında bilmiyorum:
benim liste görünümü değiştirilmiş bir görünümü vardır.
Saygılarımızla
Bunun için bir çözüm buldunuz mu? Bende aynı problem var ve bunu anlayamıyorum! –
Aramıyor .Focus() genel olarak herhangi bir GUI/çerçevede/dilde kötü bir uygulama mu? –
Peki, odağı nasıl ayarlıyorsunuz o zaman? – Sam