Tabcontrol WPF dan foydalanishda Listboxdagi ob'ektlar-ni tanlang

Ro'yxat qutisi Tabcontrol-da bo'lganida, Listboxdagi narsalarni tanlash bilan bog'liq muammolar bor. Ro'yxat qutisidagi bironta elementni tanlay olmayman. Ro'yxat qutisini kod orqasida to'ldirishga harakat qilaman, lekin men drag va tomoshadan foydalanaman, ammo Drag and drop tabcontrol bilan ishlaydi.

Mana mening XAML kodim:




    
        
            
                
                    
                    
                
                
                    
                    
                    
                
                
                
                
                
                            
        
    


    
        
            
        
        
            
            
            
            
        
        
        
        
            
                
            
            
                
            
        
        
        <button Grid.Row="3" Grid.Column="0" Name="cmdSync" Content="Synchronisieren" Margin="10" Width="100" HorizontalAlignment="Right" Click="CmdSyncClick" />
        
    

Agar Tabcontrol-ni olib tashlasam, hamma narsa ishlaydi. Umid qilamanki, kimdir menga yordam berishi yoki muammoning nima ekanligini bilishi mumkin.

salomlashadi

2
Men sizning kodingizni sinab ko'rdim va band bo'lgan signal "band" bo'lmagani uchun men ro'yxatdan hech narsa tanlashda muammo yo'q. Shuning uchun men bu erda chop etilgan xaml bilan muammo yo'q deb o'ylamayman. Ehtimol, ro'yxatga narsalarni qanday qo'shish kerakligini yoki ba'zi bir voqea-protsessorlarda nima bo'lganini ko'rish foydali bo'lishi mumkin.
qo'shib qo'ydi muallif Liz, manba

1 javoblar

Muammoni topdim. Muammo, Microsoft-ning MessageHandles-ni qanday qilib yaratganligi. Agar elementdan bir bola xabar yuboradi (masalan, selectionChanged) va xabar ushlab turmasa, xabar yuqori elementga o'tadi. Shunday qilib, mening holatimda, ListBox-da elementni bosganimda, (tanlanmagan) "selectChanged" xabarlari TabControl-ga yuborildi, bu muammo edi. TabControl.selectionChanged-dagi maxsus kod borligi uchun ListBox-da elementni tanlash o'rniga har doim mening kodimni yugurib chiqdi.

Vaqtinchalik hal qilish, bu kodni ListBox-ni tanlashChanged eventhandler-ga qo'yish:

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

Bu xabarni chaqiruv xabarnomasi foydalanuvchisidan ota-xabarnomaga yuborishdan saqlaydi.

Umid qilamanki, men tushuntirib bera olaman.

2
qo'shib qo'ydi