Tabcontrol WPF kullanırken Listede Öğeleri seçin

Liste kutusu bir tabcontrol içinde olduğunda, bir liste kutusunda öğeleri seçiminde bir sorunum var. Liste Kutusunda herhangi bir öğe seçemiyorum. Listbox'ı dinamik olarak kod arkasıyla dolduruyorum, ayrıca sürükle ve bırak özelliğini kullanıyorum, ancak Sürükle ve Bırak sekmesi ile çalışıyor.

İşte benim XAML kodum:




    
        
            
                
                    
                    
                
                
                    
                    
                    
                
                
                
                
                
                            
        
    


    
        
            
        
        
            
            
            
            
        
        

Tabcontrol'ü kaldırırsam her şey çalışıyor. Umarım birisi bana yardım edebilir veya sorunun ne olduğunu bilir.

greets

2
Kodunuzu denedim ve meşgul sinyali "meşgul" olmadığı sürece, listeden bir şey seçerken sorun yaşıyorum. Bu yüzden sorunun burada yazdığınız xaml ile olduğunu düşünmüyorum. Belki de bir şeyleri listeye nasıl eklediğinizi veya bazı olay işlemcilerinde neler olduğunu görmek faydalı olabilir.
katma yazar Liz, kaynak

1 cevap

Sorunu buldum. Sorun, Microsoft'un MessageHandles'ı nasıl tasarladığıdır. Bir öğenin alt öğesi bir ileti atarsa ​​(örneğin selectionChanged) ve ileti işlenmiyorsa, ileti ana Öğeye gider. Bu yüzden, benim durumumda, ListBox'ta bir öğeye tıklarsam, TabControl'e "selectionChanged" (işlenmemiş) mesajı gönderildi, sorun buydu. TabControl.selectionChanged içinde özel bir kod var, çünkü her zaman benim kodumu çalıştırarak, ListBox'ta öğeyi seçerek.

Çözüm, bu kodu ListBox'ın selectionChanged olay işleyicisine koymaktır:

private void ListBox_selectionChanged(object sender, DragEventArgs e)
{
    e.handled = true;
}

Bu, mesajın çocuk mesajevinden ana mesaj taşıyıcıya aktarılmasını engeller.

Umarım açıklamamdan geçebilir.

2
katma