अंतर्निहित शैलियाँ, अगर तत्व एक नियंत्रण के खाका जब तक implict शैली आवेदन संसाधन में परिभाषित किया गया है में परिभाषित किया गया है नहीं लगाए जाते। ContentPresenter द्वारा उपयोग किए गए टेक्स्टब्लॉक के लिए भी यही सच है।
उदाहरण के लिए, निम्नलिखित XAML में TextBlock है कि अंततः बटन की सामग्री पेश करने के लिए इस्तेमाल किया नहीं अंतर्निहित शैली मिल जाएगा:
<Window.Resources>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="Red" />
</Style>
</Window.Resources>
<StackPanel>
<Button Content="Will not be red" />
<TextBlock Text="Will be red" />
</StackPanel>
आपको लगता है कि ठीक उसी शैली लेने के लिए और करने के लिए इसे ले जाते हैं आवेदन के संसाधन, तो दोनों लाल हो जाएगा:
<Application.Resources>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="Red" />
</Style>
</Application.Resources>
तो तुम आवेदन संसाधन है, जो आम तौर पर एक अच्छा विचार नहीं है करने के लिए अपने निहित शैली स्थानांतरित कर सकते हैं या तो। या आप अपने विशिष्ट परिदृश्य के लिए प्रदर्शन को कस्टमाइज़ कर सकते हैं। इसमें एक अंतर्निहित डेटा टेम्पलेट जोड़ना, या नियंत्रण के टेम्पलेट को अनुकूलित करना शामिल हो सकता है।
यदि आप अधिक जानकारी प्रदान कर सकते हैं, तो यह जानना आसान होगा कि सबसे अच्छा तरीका कौन सा है।
यहां तक कि हाइपरलिंक लाल हैं, * आपने क्या किया है *! –
@ एचबी। - मैंने शहर को लाल रंग दिया! – CodeNaked
इस स्पष्टीकरण के लिए धन्यवाद! कहीं और पोस्ट किया गया एक और समाधान ContentPresenter में एक शैली को परिभाषित करता है। स्रोत, नियंत्रण टेम्पलेट के अंदर। मैंने इस दृष्टिकोण की कोशिश की और यह काम करता है। हमारे मामले में अंतर्निहित शैली को एप्लिकेशन में ले जा रहे हैं। स्रोत काम करेंगे क्योंकि सभी टेक्स्टब्लॉक को ट्रिम करना होता है। क्या मैंने उपर्युक्त डेटामैप्लेट को ऊपर दिया है जैसा कि मैंने ऊपर किया है? आप डेटामैप्लेट को कैसे परिभाषित करते हैं ताकि आप मनमानी सामग्री का समर्थन कर सकें? – dex3703