2010-03-06 20 views
6

मुझे डब्ल्यूपीएफ 4 ऐप मिला है जिसमें कई उपयोगकर्ता नियंत्रण हैं जो अपने बच्चों के नियंत्रण में शैलियों को साझा करते हैं। इसलिए मैं अपने ऐप.एक्सएमएल में कई शैलियों का निर्माण कर रहा हूं। उदाहरण के लिए:संसाधन को हल नहीं किया जा सका (वीएस 2010 आरसी)

<Style x:Key="ViewTitle" TargetType="{x:Type Border}"> 
    <Setter Property="BorderBrush" Value="LightGray" /> 
    <Setter Property="HorizontalAlignment" Value="Stretch" /> 
    <Setter Property="VerticalAlignment" Value="Top" /> 
</Style> 

तब मेरे UserControls में मैं StaticResource उन्हें संदर्भ के लिए, उदाहरण के लिए उपयोग करें:

<Border Style="{StaticResource ViewTitle}"> 
    <TextBlock Margin="6,3,4,5" FontSize="18" FontWeight="Bold" Foreground="White" HorizontalAlignment="Left" Text="Host Management" /> 
</Border> 

यह सब ठीक काम करता है। समस्या यह है कि विजुअल स्टूडियो 2010 आरसी स्टेटिक रिसोर्स संदर्भ के तहत एक नीली squiggly डाल रहा है और कह रहा है: संसाधन "ViewTitle" हल नहीं किया जा सका।

इसके साथ क्या चल रहा है? क्या यह विजुअल स्टूडियो के साथ एक समस्या है या क्या मैं कुछ गलत कर रहा हूं?

+0

आप या चलाने के समय संकलन में कोई त्रुटि मिलती है, या सिर्फ नीली squiggly? अगर यह सिर्फ नीली squiggly है, और सब कुछ रन टाइम पर ठीक काम करता है, मैं इसे डिजाइनर विफल के रूप में लिखना होगा। – itowlson

+0

हाँ सिर्फ एक डिजाइनर squiggly। यह बनाता है और ठीक चलाता है। मैं WPF के लिए नया हूँ इसलिए मुझे संदेह था कि मैं इसे गलत कर रहा था। – BrettRobi

+0

मेरे पास भी यही समस्या है :( –

उत्तर

10

टिप्पणियों में आपके नोट से "यह बनाता है और ठीक चलता है," यह लगभग निश्चित रूप से विजुअल स्टूडियो के साथ एक समस्या है। दुर्भाग्यवश, वीएस डब्ल्यूपीएफ डिजाइनर कुख्यात छोटी गाड़ी है, और अक्सर पूरी तरह से कानूनी XAML को हल करने या संभालने में विफल रहता है। इसलिए, एकमात्र सच्चा परीक्षण संकलन और चलाने के लिए है: कष्टप्रद, लेकिन केवल कुछ ऐसा करने के लिए सीखता है।

आप पाते हैं कि अभिव्यक्ति मिश्रण डिजाइनर इस स्थिति को बेहतर तरीके से संभालता है। एक दृश्य डिजाइनर होने पर ब्लेंड का लक्ष्य अधिक है (ग्राफिक डिजाइनर मुख्य लक्ष्य उपयोगकर्ता हैं) लेकिन ब्लेंड 3 ने एक्सएएमएल स्रोत कोड को संपादित करने के लिए काफी सुधार किया है। यह कोशिश करने लायक हो सकता है।

1

यह समस्या दिया "हल" है अभिव्यक्ति मिश्रण में 4.

ब्लेंड 4 स्वचालित रूप से आप डिजाइन समय संसाधनों का पता लगाने के लिए यदि आप एक संसाधन है कि न ही हल किया जा सकता है का विकल्प देता है।

मिश्रण तब एक DesignTimeResourceDictionary बना देगा जिससे यह आपके संसाधनों तक पहुंच जाएगा।

बहरहाल, यह आप में मदद नहीं करेगा ज्यादा अगर VS2010 आपका मुख्य संपादक :(

ब्लेंड 4 के साथ समाधान है:

http://adamkinney.wordpress.com/2010/05/04/design-time-resources-in-expression-blend-4-rc/

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