2009-04-20 19 views
5

Veri Kutusu'nu kullanarak yeni öğeler ekleyen bir ListBox'um var (yani listeye bir şeyler ekleniyor ve kutu yeni öğeyi içerecek şekilde güncelleniyor).Ayar Öğelerdeki Yeni Öğeler Üzerinde Ayarlama Denetim

Liste kutusundaki öğeler düzenlenebilir veri şablonlarıdır, bu nedenle soru şudur: Odağı yeni bir öğe eklendiğinde şablondaki ilk alana nasıl ayarlayabilirim?

this question'a baktım ve herhangi bir yere gelip gelmeyeceğini göreceğim, ama bu soruya doğrudan bir yanıt değil.

cevap

7

Bağlandığınız soru, özel durumunuz için çalışmalıdır. Sürece kaynağı için bir ObservableCollection kullandığınız gibi, sen ayarlayabilirsiniz:

<ListBox IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding MyCollection}" ItemTemplate="{StaticResource MyTemplate}/> 

Bu öğeler eklendikçe, odak ardından yeni bir öğe odağı yöneticisi (bakmak verilir sağlayacağız Bu konudaki ilk yanıt) TextBox'a odaklanmalıdır. MSDN makale burada bir şablon koymak yararlı bir örnek, besler:

<DataTemplate x:Key="MyTemplate" DataType="{x:Type Classes:MyClass}">  
    <StackPanel FocusManager.FocusedElement="{Binding ElementName=firstButton}"> 
    <Button Name="firstButton" /> 
    </StackPanel> 
</DataTemplate> 
+0

Sorunum aslında nedeniyle odak olayını ele ve gerçek metne geçirmeden gerektirir veri şablonunda bir UserControl varlığına daha da karmaşık bir hale İstediğim kutu, ama buradaki ayarlar beni anlamaya yetecek kadar bana ulaştı, teşekkürler. –

+4

Başkalarının benzer bir şey aramaya çalışması durumunda kodunuzu gönderebilirsiniz. –

İlgili konular