के एक पर्यवेक्षण चयन के लिए बाध्य है डेटाग्रिड के साथ ऐसा कभी नहीं किया। आम तौर पर, जब मुझे इस तरह कुछ नियंत्रित करने की आवश्यकता होती है, तो मैं एक ग्रिड के साथ एक सूची बॉक्स और डेटा टेम्पलेट का उपयोग करता हूं ताकि इसे ग्रिड या लिस्ट व्यू को टेम्पलेट में ग्रिड व्यू के साथ दिया जा सके क्योंकि वे दोनों आपको बातचीत पर अधिक नियंत्रण देते हैं।
अंधेरे में एक शॉट, क्योंकि आप बाध्यकारी हैं, आप DataGridTemplateColumn.CellEditingTemplate का उपयोग कर सकते हैं और अपना स्वयं का डिलीट बटन/टेक्स्ट बना सकते हैं जो आपके बाध्यकारी ऑब्जेक्ट के भीतर तर्क के आधार पर दिखाई या सक्षम है। शायद ऐसा कुछ (मैंने इसका परीक्षण नहीं किया था, लेकिन यह एक दिशा होनी चाहिए जिसे आप सिर कर सकते हैं)?
<dg:DataGridTemplateColumn Header="Action">
<dg:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Text Content="Delete" />
</DataTemplate>
</dg:DataGridTemplateColumn.CellTemplate>
<dg:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ButtonEnabled="{Binding Path=IsDeleteEnabled, Mode=OneWay}" Content="Delete" Command="{Binding Path=DeleteMe}" />
</DataTemplate>
</dg:DataGridTemplateColumn.CellEditingTemplate>
</dg:DataGridTemplateColumn>
इस विधि का उपयोग करना, के बाद से आदेश व्यक्ति वस्तु के लिए बाध्य है, तो आप शायद एक घटना अपने स्क्रीन की ViewModel ObservableCollection से उस पंक्ति को हटाने के लिए संभालती है बढ़ाने के लिए होगा।
फिर से, यह सुनिश्चित न करें कि यह सबसे अच्छा तरीका है, लेकिन यह मेरा 10 मिनट का स्टैब है। तो अगर यह भयानक है, तो कृपया मुझे बहुत अधिक वोट मत दें।
+1 अच्छा विचार है, लेकिन यह केवल तभी काम करेगा जब बहु चयन अक्षम हो। अगर यह काम करता है तो मैं परीक्षण करूंगा क्योंकि मुझे लगता है कि यह एक अच्छा समाधान है, लेकिन मैं बहु चयन पर निर्भर करता हूं और इसके लिए यह काम नहीं करेगा। – HCL