2013-10-03 4 views
9

मैं एक यूआई तत्व बनाना चाहता हूं जो देशी WP एसएमएस ऐप के इनपुट टेक्स्ट बॉक्स की तरह व्यवहार करता है।विंडोज फोन मल्टी लाइन टेक्स्ट बॉक्स

मूल रूप से यह एक पंक्ति पाठ बॉक्स के रूप में

  • शुरू
  • जब मेरे पाठ पहली पंक्ति के अंत तक पहुँच जाता है, यह एक लाइन का विस्तार करना चाहिए यह समाहित करने के लिए करना चाहिए
  • यह करने के लिए जाने की जरूरत है 5 लाइन (जहां एक लाइन = पाठ बॉक्स के ऊंचाई मूल्य)
  • अपने पाठ एक बार अधिक से अधिक 5 लाइनों की आवश्यकता है की एक अधिकतम ऊंचाई, पाठ और बॉक्स का विस्तार बंद कर देना चाहिए एक ऊर्ध्वाधर स्क्रॉल पट्टी दिखाई देनी चाहिए

मैं यह कैसे कर सकता हूं इस पर कोई सुझाव? मैं घटनाओं का उपयोग नहीं करना चाहता हूं यह देखने के लिए कि मैंने कितना टेक्स्ट दर्ज किया है और उस पर आधारित टेक्स्ट बॉक्स को विस्तार/संपीड़ित किया है, या स्क्रैच से नया UI तत्व बनाएं।

यदि यह मदद करता है, तो मुझे विंडोज फोन (RadTextBox) के लिए टेलीरिक के आरएडी नियंत्रणों तक पहुंच मिली है।

उत्तर

20

क्या आपने FrameworkElement.MaxHeight संपत्ति का उपयोग करने का प्रयास किया है? मार्कअप के समान होगा:

<TextBox TextWrapping="Wrap" AcceptsReturn="True" MaxHeight="200" /> 

अधिकतम ऊंचाई के लिए दिया गया मान केवल एक उदाहरण है और आपकी विशिष्ट आवश्यकताओं को पूरा नहीं कर सकता है।

नोट: जैसा कि नीचे दी गई टिप्पणियों में उल्लिखित है, ऊंचाई के लिए निर्दिष्ट किसी भी मान को हटाने के लिए निश्चित रहें। घोषणा हर समय उस ऊंचाई पर तत्व को बाधित करेगी।

+0

तत्व की वास्तविक ऊंचाई को संशोधित नहीं करता है - इससे कोई फर्क नहीं पड़ता कि मैं कितने अक्षर दर्ज करता हूं, टेक्स्ट बॉक्स अभी भी एक पंक्ति टेक्स्ट बॉक्स के रूप में प्रदर्शित होता है। – drl

+2

@drl सुनिश्चित करें कि आपके पास ऊंचाई के लिए निर्दिष्ट मान नहीं है। इससे तत्व उस ऊंचाई पर हर समय बाधा डाल देगा। 200 के मैक्सहेइट मान के साथ परीक्षण करें क्योंकि यह लगभग पांच पंक्तियां है। – lsuarez

+0

जब मैंने स्पष्ट ऊंचाई निकाली तो यह पूरी तरह से काम किया! जब मैं टेक्स्ट हटा रहा हूं तो यह टेक्स्ट बॉक्स को कम करने के लिए भी काम करता है। गंभीरता से धन्यवाद! – drl

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