C# WPF: Display child nodes of selected parent node as a grid -
मेरे पास एक XML है:
& lt; root & gt; & Lt; परियोजना का नाम = "पी 1" & gt; & Lt; पंक्ति फ़ील्ड 1 = "31" फ़ील्ड 2 = "3" नाम = "जो" /> & Lt; पंक्ति फ़ील्ड 1 = "39" फ़ील्ड 2 = "3" नाम = "जोय" / & gt; & Lt; पंक्ति फ़ील्ड 1 = "37" फ़ील्ड 2 = "3" नाम = "जोई" / & gt; & Lt; / परियोजना & gt; & Lt; परियोजना का नाम = "पी 2" & gt; & Lt; पंक्ति फ़ील्ड 1 = "31" फ़ील्ड 2 = "3" नाम = "जो" /> & Lt; पंक्ति फ़ील्ड 1 = "39" फ़ील्ड 2 = "3" नाम = "जोय" / & gt; & Lt; / परियोजना & gt; & Lt; / जड़ & gt;
अब सूची बॉक्स परियोजनाओं को प्रदर्शित करता है जब सूचीबद्घ में कोई प्रोजेक्ट चुना जाता है, तो ग्रिड को पंक्तियों को प्रदर्शित करना होता है क्या यह Xaml में करना संभव है? या क्या मुझे कोड में सूचीबॉब्स के चयन के भाग के रूप में बदल दिया गया है?
हाँ बस अपने ListBox नाम दें, DataGrid की DataContext संपत्ति को लिस्टबॉक्स की SelectedItem प्रॉपर्टी में बाँध दें, फिर संबंधित गलतियों को DataGrid के आइटम्स स्रोत सेट करें।
नीचे दिए गए कोड देखें यह एक ListView का उपयोग करता है, हालांकि, एक DataGrid के बजाय।
& lt; विंडो x: कक्षा = "WpfApplication1.MainWindow" xmlns = "http://schemas.microsoft.com/winfx/2006 / Xaml / प्रस्तुति "xmlns: x =" http://schemas.microsoft.com/winfx/2006/xaml "शीर्षक =" मुख्य विंडो "ऊंचाई =" 350 "चौड़ाई =" 525 "& gt; & LT; Window.Resources & gt; & Lt; XmlDataProvider x: कुंजी = "डेटा" & gt; & LT; एक्स: XData & gt; & Lt; रूट xmlns = "" & gt; & Lt; परियोजना का नाम = "पी 1" & gt; & Lt; पंक्ति फ़ील्ड 1 = "31" फ़ील्ड 2 = "3" नाम = "जो" /> & Lt; पंक्ति फ़ील्ड 1 = "39" फ़ील्ड 2 = "3" नाम = "जोय" / & gt; & Lt; पंक्ति फ़ील्ड 1 = "37" फ़ील्ड 2 = "3" नाम = "जोई" / & gt; & Lt; / परियोजना & gt; & Lt; परियोजना का नाम = "पी 2" & gt; & Lt; पंक्ति फ़ील्ड 1 = "31" फ़ील्ड 2 = "3" नाम = "जो" /> & Lt; पंक्ति फ़ील्ड 1 = "39" फ़ील्ड 2 = "3" नाम = "जोय" / & gt; & Lt; / परियोजना & gt; & Lt; / जड़ & gt; & Lt; / एक्स: XData & gt; & Lt; / XmlDataProvider & gt; & LT; /Window.Resources> & LT; ग्रिड & gt; & LT; Grid.ColumnDefinitions & gt; & Lt; स्तंभ डिफाइनिशन चौड़ाई = "1 *" / & gt; & Lt; स्तंभ डिफाइनिशन चौड़ाई = "3 *" / & gt; & LT; /Grid.ColumnDefinitions> & Lt; ListBox x: नाम = "सूची बॉक्स" आइटम स्रोत = "{बाध्यकारी स्रोत = {स्टेटिक संसाधन डेटा}, XPath = रूट / परियोजना}" & gt; & LT; ListBox.ItemTemplate & gt; & LT; DataTemplate & gt; & Lt; टेक्स्टब्लॉक टेक्स्ट = "{बाध्यकारी XPath = @ नाम}" / & gt; & Lt; / DataTemplate & gt; & LT; /ListBox.ItemTemplate> & Lt; / ListBox & gt; & Lt; ListView ग्रिड। कॉलम = "1" डेटाकॉन्टेक्स्ट = "{बाध्यकारी तत्व नाम = सूची बॉक्स, पथ = चयनित आईटम}" आइटमों स्रोत = "{बाध्यकारी XPath = पंक्ति}" & gt; & LT; ListView.View & gt; & LT; GridView & gt; & Lt; GridViewColumn हेडर = "फ़ील्ड 1" DisplayMemberBinding = "{बाध्यकारी XPath = @ फ़ील्ड 1}" / & gt; & Lt; GridViewColumn हेडर = "Field2" DisplayMemberBinding = "{बाध्यकारी XPath = @ field2}" / & gt; & Lt; GridViewColumn हेडर = "फ़ील्ड 3" DisplayMemberBinding = "{बाध्यकारी XPath = @ नाम}" / & gt; & Lt; / GridView & gt; & LT; /ListView.View> & Lt; / ListView & gt; & Lt; / ग्रिड & gt;
Comments
Post a Comment