2012-09-26 18 views
13

मैं एक WPF UserControl लाइब्रेरी प्रोजेक्ट के अंदर ResourceDictionary बनाने का प्रयास कर रहा हूं। जब मैं निम्नलिखित शैली को जोड़ने:x: उपयोगकर्ता नियंत्रण पुस्तकालय में नहीं मिला

The type 'x:Type' was not found. Verify that you are not missing an assembly reference and that all referenced assemblies have been built. 

मैं एक्स के रूप में घोषणा कर रहा हूँ:

<Style TargetType="{x:Type Button}"> 
    <Setter Property="Background" Value="{StaticResource ResourceKey=GreyBrush}"/> 
    <Setter Property="BorderBrush" Value="{StaticResource ResourceKey=LightBlueBrush}"/> 
    <Setter Property="BorderThickness" Value="1"/> 
    <Style.Triggers> 
     <Trigger Property="IsMouseOver" Value="True"> 
      <Setter Property="Background" Value="{StaticResource ResourceKey=OrangeBrush}"/> 
     </Trigger> 
     <EventTrigger RoutedEvent="Click"> 
      <BeginStoryboard> 
       <Storyboard> 
        <ColorAnimation Storyboard.TargetProperty="Background.Color" To="{StaticResource ResourceKey=LightOrange}" Duration="0:0:.1"/> 
       </Storyboard> 
      </BeginStoryboard> 
     </EventTrigger> 
    </Style.Triggers> 
</Style> 

मैं कह कोई त्रुटि मिलती है

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 

यह काम करता है जब मैं एक संसाधन शब्दकोश एक के अंदर बनाने WPF एप्लिकेशन प्रोजेक्ट, लेकिन UserControl लाइब्रेरी प्रोजेक्ट के अंदर नहीं। कोई विचार क्यों?

+0

यह नहीं पता कि यह क्यों हो रहा है, एक वर्कअराउंड केवल {x: Type} टेक्स्ट को हटाने के लिए है, यानी 'लक्ष्य प्रकार = "बटन" '। सिल्वरलाइट AFAIK में भी यही त्रुटि होती है। – Patrick

+0

लेकिन हमेशा नहीं होता है। कम से कम उपरोक्त शैली एक नव निर्मित (.NET 4.0) WPF उपयोगकर्ता नियंत्रण लाइब्रेरी प्रोजेक्ट में संसाधन शब्दकोश में मेरे लिए ठीक काम करती है। – Clemens

+0

मैं वीएस2012 पेशेवर का उपयोग कर रहा हूं और एक नेट 3.5 WPF उपयोगकर्ता नियंत्रण पुस्तकालय बना रहा हूं। – FlyingStreudel

उत्तर

31

यह तब हुआ जब मैं आईई एक्सटेंशन लिख रहा था और WPF उपयोगकर्ता नियंत्रण बनाना चाहता था। चूंकि यह प्रोजेक्ट मूल रूप से एक WPF प्रोजेक्ट नहीं था, इसलिए सिस्टम का कोई संदर्भ नहीं था .Xaml, संदर्भ ने कहा कि इस मुद्दे को हल किया गया है।

+1

यह मेरे लिए तय है! प्रोजेक्ट ने संकलित किया लेकिन हमेशा त्रुटियों को प्रदर्शित किया (विशेष रूप से उत्पादकता पावर टूल्स एक्सटेंशन की समाधान एक्सप्लोरर त्रुटियों की सुविधा के साथ परेशान)। – yourbuddypal

+1

एक ही समस्या/समाधान को जन्म दिया, लेकिन अपराधी "सिस्टम। प्रतिनिधित्व" था। –

1

मुझे असहमत होना है, यहां एक उपयोगकर्ता नियंत्रण से मेरा decalaration है जो काम करता है।

<UserControl x:Class="RedGreenRefactor.View.TestResultsGraph" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 

क्या कोई मौका है कि त्रुटि आपको बता रही है कि क्या गलत है? क्या आपको सभी असेंबली संदर्भित हैं जिनकी आपको आवश्यकता है?

एक नया WPF एप्लिकेशन बनाना मुझे निम्न मिलता है।

WPF default references

+0

क्या यह 3.5 या 4.0 लाइब्रेरी के लिए है? मैं 4.0 का अनुमान लगा रहा हूं माइक्रोसॉफ्ट .CSharp और System.Xaml 3 नहीं हैं।5 – FlyingStreudel

+0

4.5 वास्तव में, लेकिन आप हमेशा एक नया खाली wpf बना सकते हैं और किसी भी संस्करण – AlSki

+0

के लिए तुलना कर सकते हैं संदर्भ wpf ऐप प्रोजेक्ट और नियंत्रण लाइब्रेरी के बीच समान हैं। – FlyingStreudel

-1

आप रूट

<ResourceDictionary xmlns="..." 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 

खो रहे हैं, अर्थात जहां एक्स परिभाषित करते हैं?

<Style TargetType="Button"> 

भी काम करता है।

2

मेरे प्रोजेक्ट में एक ही दिखने वाला मुद्दा था। मैंने लक्ष्य फ्रेमवर्क को .NET 3.0 से 4.0 तक स्विच करके हल किया है।

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