2012-01-10 9 views
7

स्टाइलिंग WPF की एक बड़ी विशेषता है। निश्चित रूप से ओएस टेक्स्टबॉक्स की तरह एक टेक्स्ट बॉक्स दिखाना संभव है?क्या टेक्स्टबॉक्स चयन एक अलग फ़ॉन्ट रंग के साथ स्टाइल किया जा सकता है?

मैं धूमिल असंतृप्त रंग कि चयन काले पाठ के लिए क्रम में होना आवश्यक है दिखाई दे सकता है की थक गया हूँ:

textbox selection comparison

इस सुधारी जा सकने वाली है?

+2

यदि आप देशी ओएस नियंत्रणों की तरह दिखने और व्यवहार करने के लिए * सभी * WPF नियंत्रणों को ठीक करने का कोई तरीका समझ सकते हैं, तो आपके पास वास्तव में कुछ हो सकता है! –

+0

@ कोडीग्रे यह एक सपना है ... कुछ गुमराह प्रयासों में डब्ल्यूपीएफ को आर्किटेक्टेड करने के विपरीत क्या है, एह? ... –

+0

हां, वास्तव में। यही कारण है कि मुझे WPF पर स्विच करने के लिए राजी नहीं किया गया है। मेरे पास अपने अनुप्रयोगों को उलझाने, धीमे और उपयोग करने में कठोर बनाने का कोई विशेष कारण नहीं है। –

उत्तर

6

दुर्भाग्यवश यह असंभव हो सकता है, चयन हाइलाइटिंग ओवरलेइंग आयत (शानदार विचार, है ना?) के माध्यम से किया जाता है, इससे पाठ पठनीयता को बनाए रखते हुए चयन पृष्ठभूमि रंग भी प्राप्त करना मुश्किल हो जाता है। (SelectionOpacity से 1 पर सेट करने का प्रयास करें)

इसके अलावा चयनित टेक्स्ट भाग स्टाइल नहीं दिखता है इसलिए चयन के अग्रभूमि रंग को बदलना आसानी से संभव नहीं है।

+3

मेरे भगवान आप सही हैं। उसके साथ कौन आया? ... इसके विपरीत पहले से ही कम है, और यह पता चला है कि पाठ भी पूरी तरह से काला नहीं है! –

1

शायद आपको SelectionBrush की आवश्यकता है? यह एक निर्भरता संपत्ति है। (सुनिश्चित नहीं है कि यह .NET संस्करण < 4 में उपलब्ध है)।

वर्तमान सिस्टम रंगों को ढूंढने के लिए, आप SystemColors class का उपयोग कर सकते हैं।

यहां एक उदाहरण देखें: WPF SystemColors: color of TextBox border

+4

चयन ब्रश पहले से ही सही रंग का है। अगर मैं अस्पष्टता 1 पर सेट करता हूं, तो चयनित पाठ पूरी तरह से अदृश्य हो जाता है। तो नहीं, यह मदद नहीं करता है। –

+0

@romkyns: ठीक है, इस मामले में रंग _darker_ क्यों नहीं बनाते? यदि आपको रंग एक्स की आवश्यकता है, लेकिन आपकी अस्पष्टता 50% है, तो एक्स/2 आज़माएं। – Vlad

+2

सबसे पहले, क्योंकि सफेद के खिलाफ _any_ रंग के 50% मिश्रण के परिणामस्वरूप '0x3399FF' प्राप्त करना असंभव है (इसे आज़माएं - आपको इसके लिए नकारात्मक लाल रंग की आवश्यकता है), और दूसरी बात, क्योंकि अगर यह प्राप्त करने योग्य, काला पाठ नीले रंग की छाया के खिलाफ बहुत पठनीय नहीं है। –

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