2011-01-20 18 views
6

मेरे पास एक WPF एप्लिकेशन है जिसमें 'मिलान' प्रकार के आइटम से भरा एक सूची बॉक्स है। मैं बटन (आइटम के भीतर निहित) वास्तव में आइटम कैसे चुनूं ताकि मैं मूल्य निकाल सकूं?WPF मुझे कैसे पता चलेगा कि कौन सा ListBox आइटम क्लिक किया गया था

यहाँ मेरी कोड है: न तो वास्तव में आइटम का चयन नहीं करता

private void LayButton_Click(object sender, RoutedEventArgs e) 
{ 
    var x = (Market)ListBoxSelectedMarket.SelectedItem; 
    var y = (sender as ListBoxItem); 

} 

धन्यवाद

बटन पर क्लिक के बाद से काम करता है

उत्तर

12

आपको क्लिक किए गए बटन से डेटाकॉन्टेक्स्ट का उपयोग करने और वहां से ListBoxItem कंटेनर प्राप्त करने में सक्षम होना चाहिए, और फिर इसे चुनें।

private void LayButton_Click(object sender, RoutedEventArgs e) 
{ 
    Button button = sender as Button; 
    var dataContext = button.DataContext; 
    ListBoxItem clickedListBoxItem = ListBoxSelectedMarket.ItemContainerGenerator.ContainerFromItem(dataContext) as ListBoxItem; 
    clickedListBoxItem.IsSelected = true; 
} 
+0

यह काम करता है, धन्यवाद! – Chris

0

मैं बहुत WPF प्रोग्रामिंग नहीं किया है, लेकिन आप माता-पिता हो रही कोशिश कर सकते बटन के अगर यह WinForms कंटेनर ऑब्जेक्ट के समान काम करता है।

0

आप किसी ऑब्जेक्ट के लिए बाध्य कर रहे हैं एक वैकल्पिक पद्धति (VB में) हो सकता है

यह तो आप अपने उद्देश्य के साथ खेलने के लिए की एक आवृत्ति देता है और आपको लिस्टबॉक्स

पर किसी भी मानचित्रण क्षेत्रों होने की बचत होती है
Private Sub OTC_Settled_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) 
     Dim pr_YourObject As New YourObject 
     Dim btn As Button = CType(sender, Button) 
     OTC = DirectCast(btn.DataContext, pr_YourObject) 
    End Sub 
संबंधित मुद्दे

 संबंधित मुद्दे