मैं चांदी की रोशनी 3 डाटाग्रिड का उपयोग कर रहा हूं, और इसके भीतर, मैं rowdetails (visibilitymode = visualwhenselected) का उपयोग करके किसी अन्य नियंत्रण में संबंधित रिकॉर्ड घोंसला कर रहा हूं।नेस्टेड सिल्वरलाइट डाटाग्रिड - पंक्ति विवरण बहुत अच्छा काम करता है, लेकिन मुझे एक बटन चाहिए!
मुझे वास्तव में यह पसंद है कि यह कैसे काम करता है, लेकिन जब मैं एक नोड पर क्लिक करता हूं तो एक पेड़ विस्तारित होने पर ग्रिड पंक्ति विवरण प्रदर्शित करता है, जितना अधिक होगा।
मैं प्रोग्राम के रूप में इस तरह संसाधनों का उपयोग करके टेम्पलेट परिभाषित करने की कोशिश की:
<Grid.Resources>
<DataTemplate x:Key="EmptyTemplate">
<StackPanel>
<!--<TextBlock Text="Empty Template!!!" />-->
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="SongTemplate">
<StackPanel>
<AdminControls:ArtistSongControl x:Name="ArtistSongControl" />
</Stack>
</DataTemplate>
</Grid.Resources>
और ग्रिड के LoadingRowDetails घटना में, मैं जो खाका तैयार का निर्णय लेना होगा द्वारा:
e.Row.DetailsTemplate = (DataTemplate)LayoutRoot.Resources["SongTemplate"];
यह sortof काम , लेकिन मैंने पाया कि मुझे पिछली पंक्तियों के विवरण टेम्पलेट को ध्वस्त करने में समस्याएं थीं, और यहां तक कि क्रैश किया गया था 8 (सुनिश्चित नहीं है कि यह संबंधित है)।
असल में, मुझे वास्तव में पसंद है कि चांदी की रोशनी 3 डाटाग्रिड कैसे काम करती है, और यहां तक कि कैसे rowdetailstemplate सामान लागू किया जाता है। जब तक पंक्ति को जानबूझकर विस्तारित नहीं किया जाता है (जैसे पेड़ होगा) मैं बस किसी भी विवरण को लोड करना चाहता हूं। सभी तृतीय पक्ष ग्रिड ऐसा करने लगते हैं, और माइक्रोसॉफ्ट बहुत करीब है। क्या किसी को यह पता है कि इसे कैसे हल किया जाए?
धन्यवाद, डेनिस
बस कैसे सोच जब आप किसी नई पंक्ति के बटन पर क्लिक करते हैं तो उस पंक्ति पर टॉगलबटन को अचयनित करने के बारे में आप जाते हैं? –