2010-02-04 9 views
10

में एप्लिकेशन चौड़ा संसाधनों संदर्भित मैं जो दिया एक स्ट्रिंग रिटर्न एक Brush मेरे स्वयं के कस्टम कनवर्टर बना दिया है। अब मैं इस तरह के Brushes.Red आदि के रूप में निरंतर ब्रश लौटने में सक्षम हूँ, लेकिन मैं वास्तव में अपने ही रंग है जो मैं एक आवेदन चौड़ा संसाधन में परिभाषित किया है का उपयोग करना चाहते।WPF: कोड-पीछे

मैं अपने स्वयं के कस्टम कनवर्टर वर्ग से आवेदन चौड़ा संसाधन देखें क्या ज़रूरत है? मैं FindResource प्रयोग करेंगे लेकिन जैसा कि मैंने कहा, यह मेरी अपनी कनवर्टर वर्ग, नहीं एक खिड़की या नियंत्रण से है।

उत्तर

20

इन आपके आवेदन पर परिभाषित कर रहे हैं, तो आप Application.Current.FindResource() का उपयोग नाम से उन्हें खोजने के लिए कर सकते हैं।

2

रीड की जवाब देने के लिए जोड़ा जा रहा है, यदि आपके संसाधन शब्दकोश एक स्टैंडअलोन XAML फाइल है, तो आप यह है (जैसा कि रीड कहते हैं) यह सुनिश्चित करने की जरूरत है "अपने आवेदन पर परिभाषित किया।"

App.xaml:

<Application x:Class="WpfApplication10.App" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      StartupUri="MainWindow.xaml"> 
    <Application.Resources> 
     <ResourceDictionary Source="Dictionary1.xaml" /> 
    </Application.Resources> 
</Application> 

Dictionary1.xaml:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <TextBlock x:Key="k_foo" Text="FOO" /> 
</ResourceDictionary> 

Build Action इस शब्दकोश XAML फाइल पर Page करने के लिए सेट किया जा सकता है। यह App.xaml फ़ाइल के समान निर्देशिका में होना चाहिए।

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