2012-06-28 11 views
6

मेरे पास इंटरनेट पर मिले इस कोड का उपयोग करके उस पर लागू चेकबॉक्स के साथ डेटाग्रिड है।डब्ल्यूपीएफ एमवीवीएम डाटाग्रिड चयनित पंक्तियों को पुनर्प्राप्त करें

<my:DataGrid.RowHeaderTemplate> 
    <DataTemplate> 
    <Grid> 
     <CheckBox IsChecked="{Binding Path=IsSelected, Mode=TwoWay, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type my:DataGridRow}}}" /> 
    </Grid> 
    </DataTemplate> 
</my:DataGrid.RowHeaderTemplate> 

लेकिन, मैं कैसे चयनित पंक्तियों मिल सकता है? मैं WPF एमवीवीएम का उपयोग कर रहा हूँ।

+1

कृपया कर सकते हैं आप लोगों को सवाल करने के लिए जब तुम लोग downvoting कर रहे हैं कोई टिप्पणी जोड़ें। फिर, वे जान जाएंगे कि उनके प्रश्न क्यों कम किए गए हैं। धन्यवाद। –

+0

समझ गया .. धन्यवाद। – wipindipy10

उत्तर

9

आप MVVM पद्धति का उपयोग कर रहे हैं जब से तुम इस तरह एक ViewMode घोषणा कर सकते हैं:

public class MyViewModel 
{ 
    public ObservableCollection<Prototype> Items { ... } 
    public Prototype SelectedItem SelectedItem { ... } 
} 

के बाद, अपने datagrid में, आप इस तरह से बाध्यकारी घोषणा कर सकते हैं:

<DataGrid ItemSource="{Binding Items}" SelectedItem="{Binding SelectedItem, Mode=TwoWay}"... /> 

में अपने कोड आप वर्तमान चयनित डेटाग्रिड पंक्ति प्राप्त करने के लिए "चयनित इटिम" संपत्ति का उपयोग कर सकते हैं। वरना अगर तुम मतलब है "जाँच" पंक्तियों, आप अपने नमूदार संग्रह क्वेरी कर सकते हैं:

var selectedRows = ViewModel.Items.Where(i => i.IsSelected); 
संबंधित मुद्दे