मैं ऑब्जेक्ट्स की सूची में लिस्ट व्यू को बाध्य कर रहा हूं;एक सिस्टम से जुड़ने के लिए एक्सएएमएल का उपयोग कर। ड्रॉइंग। एक सिस्टम में इमेज .इंडोज़। इमेज कंट्रोल
<ListView
ItemsSource="{ Binding Path=. }"
ItemTemplate="{DynamicResource EventTemplate}">
मैं किसी ऑब्जेक्ट पर बाध्यकारी हूं जो दो गुणों की घोषणा करता है;
string DisplayName { get; }
System.Drawing.Image Image { get; set; }
मैं एक DataTemplate
को भरने के लिए चाहते हैं, लेकिन मैं कैसे समझ नहीं कर सकते हैं; अगर मैं इसे अपने टेम्पलेट में करता हूं;
<StackPanel Orientation="Horizontal">
<Image Source="{ Binding Path=Image }" />
<TextBlock Text="{ Binding Path=DisplayName }" />
</StackPanel>
पाठ प्रकट होता है लेकिन छवि नहीं होती है। मैं क्या गलत कर रहा हूं? डिबग आउटपुट
System.Windows.Data Error: 1 : Cannot create default converter
to perform 'one-way' conversions between types
'System.Drawing.Image' and 'System.Windows.Media.ImageSource'.
Consider using Converter property of Binding.
BindingExpression:Path=Image; DataItem='RealElement'
(HashCode=54308798); target element is 'Image' (Name='');
target property is 'Source' (type 'ImageSource')
मेरे पास मेमोरी उपयोग के बारे में कोई सवाल है: क्या यह रूपांतरण केवल एक बार या प्रत्येक बार छवि को i.e. ListBox के दृश्य भाग में दिखाया जाता है ?? – emesx
वास्तव में नहीं कह सकता - रूपांतरण हर बार WPF द्वारा आवश्यक होता है - इसलिए मुझे लगता है कि यह केवल एक आंतरिक कार्यान्वयन विस्तार है। मुझे नहीं लगता कि इसे बदलने के लिए कोई कारण नहीं होगा, लेकिन यह काउंटर में चिपकने और देखने के लायक हो सकता है ... –
'मेमोरीस्ट्रीम' कभी बंद या डिस्पोजेड नहीं है, क्या यह चिंता यहां है? मेरे पास कुछ बहुत ही समान कोड है, जो शायद इस प्रश्न से भी आ सकता है, लेकिन यह उलझन में है। – Maslow