में प्रत्येक डेटाटाइप के लिए डेटा टेम्पलेट मेरे पास एक ऑब्जर्जेबल कोलेक्शन है जिसमें कई प्रकार के दृश्य मॉडल शामिल हैं, और मैं अपने प्रत्येक ग्रिड व्यू कॉलम के सेल टेम्पलेट्स में प्रत्येक प्रकार के लिए डेटा टेम्पलेट बनाना चाहता हूं। इस सरल उदाहरण में मैं बेस व्यू मॉडेल बना सकता हूं, लेकिन मैं इसे xaml से ही करने में सक्षम होना चाहता हूं। नीचे xaml दिखाता है कि मैं क्या करने की कोशिश कर रहा हूं, जहां प्रत्येक सेल टेम्पलेट के लिए डेटा टेम्पलेट का उपयोग किया जाएगा।GridViewColumn CellTemplate
यदि कोई ग्रिड व्यू कॉलम था। स्रोत मैं डेटा टेम्पलेट्स को परिभाषित करता हूं, फिर सेल टेम्पलेट में सामग्री प्रस्तुतकर्ता के साथ डेटा टेम्पलेट का उपयोग करता हूं, लेकिन मैं स्पष्ट रूप से ऐसा नहीं कर सकता। मुझे लगता है कि मुझे टेम्पलेट चयनकर्ता की आवश्यकता हो सकती है, लेकिन मुझे यकीन नहीं है कि कहां से शुरू करना है।
<ListView ItemsSource={Binding GenericObservableCollection>
<ListView.View>
<GridView>
<GridViewColumn Header="Type">
<GridViewColumn.CellTemplate>
<DataTemplate DataType="{x:Type vm:ActionInputViewModel}">
<TextBlock Text="Input"/>
</DataTemplate>
<DataTemplate DataType="{x:Type vm:ActionOutputViewModel}">
<TextBlock Text="Output"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Value">
<GridViewColumn.CellTemplate>
<DataTemplate DataType="{x:Type vm:ActionInputViewModel}">
<TextBlock Text="{Binding Property1}"/>
</DataTemplate>
<DataTemplate DataType="{x:Type vm:ActionOutputViewModel}">
<TextBlock Text="{Binding Property2}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
बिल्कुल सही। मैंने उन दोनों दृष्टिकोणों के विस्तृत उत्तर प्रदान करने के लिए धन्यवाद जिन्हें मैंने माना था। – scuba88
गीज़, मैं घंटों तक घूमने के बाद बहुत करीब था, लेकिन आपने इसे दबाया। मेरी त्रुटि यह थी कि मैं 'ContentControl' के' DataContext' को बाध्यकारी कर रहा था, जैसा कि आप 'सामग्री' के विपरीत सही ढंग से इंगित करते हैं। Kudos और धन्यवाद। –
मुझे यह पसंद है जब लोग वास्तव में अपने उत्तर पर समय बिताते हैं। यह आपके द्वारा प्रदान किए गए विवरण में स्पष्ट है। अच्छी नौकरी। +1। – cplotts