2010-05-10 11 views
10

के भीतर डेटा टेम्पलेट के रूप में उपयोगकर्ता नियंत्रण का उपयोग करें, मैं एक WPF अनुप्रयोग के भीतर उपयोगकर्ता नियंत्रण बनाने की कोशिश कर रहा हूं जो ListBoxItem के लिए DataTemplate के रूप में कार्य करेगा। उपयोगकर्ता 4 TextBlock एस के साथ ग्रिड को नियंत्रित करता है। इस नियंत्रण में अन्य आकारों और छवियों को दृश्य सहायता के लिए और भी कुछ भी शामिल है, इसलिए मैं स्पष्टता के लिए इस प्रश्न में कोड से उन्हें छोड़ रहा हूं।एक WPF अनुप्रयोग

जब मैं अपने mainwindow.xaml पर उपयोगकर्ता नियंत्रण छोड़ देता हूं तो मैं नियंत्रण देख सकता हूं और सही ढंग से बाध्य फ़ील्ड डेटा स्रोत में पहले रिकॉर्ड को इंगित करता है। मैं क्या करना चाहता हूं कि यह नियंत्रण डाटाबेस के भीतर प्रत्येक रिकॉर्ड के लिए किसी सूची बॉक्स या रैप पैनल में बार-बार प्रस्तुत करता है।

क्या कोई मुझे ListBox नियंत्रण/अन्य पैनल के भीतर DataTemplate के रूप में उपयोगकर्ता नियंत्रण के रूप में प्रस्तुत करने का संकेतक या नमूना प्रदान कर सकता है।

इस बिंदु तक मैंने निम्नलिखित लाभों का प्रयास नहीं किया है: किसी भी सुझाव के लिए अग्रिम धन्यवाद।

<!--within Window.Resource --> 
<DataTemplate x:Key="myActivity"> 
     <local:ucActivityItm /> <!--usercontrol --> 
</DataTemplate> 

<!-- Listbox within the window --> 
<ListBox HorizontalAlignment="Stretch" ItemTemplate="{DynamicResource myActivity}" VerticalAlignment="Stretch"> 
<ListBoxItem> 
<!-- control also added for testing to ensure it rendered out--> 
<local:ucActivityItm /> 
</ListBoxItem>   
</ListBox> 

उत्तर

13

DataTemplate वास्तव में अपने ListBox करने के लिए आवंटित किया जा रहा है यही कारण है कि।

1:

<ListBox.ItemTemplate> 
    <DataTemplate> 
     <local:ucActivityItm /> 
    </DataTemplate> 
</ListBox.ItemTemplate> 
ListBox में

साथ संसाधन अनुभाग में टेम्पलेट बदलें तीन तरीके हैं।
2: कुछ हद तक संबंधित:

<ListBox ... ItemTemplate="{StaticResource myActivity}"> 

3: करने के लिए जो कुछ भी अपने ListBox की सामग्री है ऊपर DataTemplate का डेटा प्रकार पैरामीटर सेट।

<DataTemplate x:Key="myActivity" DataType="{x:Type ...}"> 

मैं आमतौर पर पहले ऐसा करता हूं, लेकिन किसी को भी काम करना चाहिए।

संबंधित मुद्दे