previous question में मैं यह पता लगाने की कोशिश कर रहा था कि एक अवलोकन करने योग्य चयन को नियंत्रण में कैसे बांधें ताकि मैं दोनों तारों को देख सकूं और सभी तारों का चयन कर सकूं और उन्हें सामग्री नियंत्रण से कॉपी कर सकूं। अंततः उस प्रश्न के उत्तर ने मुझे निम्नलिखित एक्सएएमएल का उपयोग करके देखना (और प्रतीत होता है कि व्यवहार) मिला। (मैंने कोशिश की दोनों एक FlowDocumentReader और FlowDocumentScrollViewer - वे एक ही व्यवहार करते हैं।)मैं WPF FlowDocumentScrollViewer या Reader से कॉपी किए गए टेक्स्ट को पेस्ट क्यों नहीं कर सकता?
<Grid>
<FlowDocumentScrollViewer>
<FlowDocument >
<Paragraph>
<ItemsControl ItemsSource="{Binding ErrorMessages, Mode=OneWay}" />
<Run Text="{Binding /, Mode=OneWay}" />
</Paragraph>
</FlowDocument>
</FlowDocumentScrollViewer>
</Grid>
ErrorMessages मेरी ViewModel संपत्ति है कि एक ObservableCollection < स्ट्रिंग> देता है। यह आइटमसोर्स और < रन> तत्व संग्रह में प्रत्येक स्ट्रिंग के लिए बाध्यता से ठीक से बांधता है। अच्छा लग रहा है, लंबे समय तक रहता है। यह बहुत करीब था मैंने उत्तर के रूप में अपना अंतिम प्रश्न चिह्नित किया लेकिन मुझे अभी भी एक समस्या है।
मैं सही क्लिक करें और एक मेनू चयन युक्त सभी और कॉपी विकल्प दिखाई देता है। का उपयोग करके सभी का चयन करें, वास्तव में त्रुटियों को चुनने के लिए सभी टेक्स्ट को हाइलाइट करते हैं, लेकिन जब मैं नोटपैड (या वर्ड, या टेक्स्टपैड इत्यादि या फॉर्म पर आरटीबी) पर जाता हूं और टेक्स्ट पेस्ट करने का प्रयास करता हूं, कुछ भी नहीं कभी दिखाता है डब्ल्यूपीएफ के नवागंतुक के रूप में मुझे संदेह है कि मैं कुछ गलत कर रहा हूं लेकिन मुझे नहीं पता कि यह क्या है। ऐसी कोई चीज़ नहीं है जैसे "लापरवाह" पाठ है?
[संपादित करें -ज्यून 22 2011] अन्य कारणों से मैंने नीचे दिए गए अनुसार आइटम कंट्रोल के अंदर एक आइटम टेम्पलेट के माध्यम से टेक्स्टब्लॉक का उपयोग करने के लिए कोड बदल दिया है, लेकिन मैं अभी भी कॉपी और पेस्ट नहीं कर सकता।
<DataTemplate x:Key="StringCollection">
<TextBlock TextWrapping="Wrap" Text="{Binding}" TextAlignment="Left"/>
</DataTemplate>
<!--... now down in the ItemsControl-->
<ItemsControl ItemsSource="{Binding ReceivedData, Mode=OneWay}"
ItemTemplate="{StaticResource StringCollection}" />
आप क्लिपबोर्ड का निरीक्षण कर सकते हैं (एक ['क्लिपबोर्ड'] है (http://msdn.microsoft.com/en-us/library/system.windows.forms.clipboard.aspx) कक्षा में .Net) ठीक बाद में * प्रतिलिपि * और जांचें कि इसमें टेक्स्ट है और अन्य डेटा प्रकारों की प्रतिलिपि बनाई गई है या नहीं। –
ठीक है - जब मैं GetFormats() को कैप्चर करता हूं तो यह Xaml, ApplicationTrust, Text, UnicodeText, System.String, Rich Text Format दिखाता है। जब मैं GetDataPresent (DataFormats.Text) की जांच करता हूं और यह गुजरता है तो मैंने "गॉट टेक्स्ट:" प्रदर्शित किया है, इसके बाद क्लिप_टेक्स्ट में वास्तविक क्लिपबोर्ड टेक्स्ट के बाद क्लिप_टेक्स्ट। लम्बाई() मिला टेक्स्ट: 4 जहां बीच कुछ भी नहीं था पाठ मिला: और 4 अगली पंक्ति पर था। इसका क्या अर्थ है? 4 गैर-प्रदर्शित करने योग्य वर्ण जिनमें से एक नई लाइन है?चयनित वास्तविक डेटा और प्रतिलिपि तीन तार नकली त्रुटि 1 नकली त्रुटि 2 मैन्युअल रूप से InstrumentViewModel में जोड़ा गया था। – Tod