2010-10-21 87 views
3

我正在处理自定义控件库,并且出现此错误。任何人都可以告诉我我错过了什么吗?控制库问题:无法从文本“本地:SolidGloss”创建“System.Type”

SolidGloss.cs:

using System; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Documents; 
using System.Windows.Ink; 
using System.Windows.Input; 
using System.Windows.Media; 
using System.Windows.Media.Animation; 
using System.Windows.Shapes; 
using System.Collections; 
using System.Collections.Generic; 
using System.Diagnostics; 

namespace UXSDK 
{ 
public class SolidGloss : Control 
{ 

    public SolidGloss() 
     : base() 
    { 
     DefaultStyleKey = typeof(SolidGloss); 
     //SolidGlossCorners_ConformToContainer(); 
    } 

    Border SolidGloss_Container; 
    Border SolidGloss_Upper; 
    Border SolidGloss_Lower; 

    public override void OnApplyTemplate() 
    { 
     SolidGloss_Container = this.GetTemplateChild("SolidGloss_Container") as Border; 
     Debug.Assert(SolidGloss_Container != null, "SolidGloss_Container is null"); 

     SolidGloss_Upper = this.GetTemplateChild("SolidGloss_Container") as Border; 
     Debug.Assert(SolidGloss_Container != null, "SolidGloss_Container is null"); 

     SolidGloss_Lower = this.GetTemplateChild("SolidGloss_Container") as Border; 
     Debug.Assert(SolidGloss_Container != null, "SolidGloss_Container is null"); 

     base.OnApplyTemplate(); 
    } 
    public CornerRadius SolidGlossCorners 
    { 
     get 
     { 
      return (CornerRadius)GetValue(SolidGlossCornersProperty); 
     } 
     set 
     { 
      SetValue(SolidGlossCornersProperty, value); 
     } 
    } 
    public static readonly DependencyProperty SolidGlossCornersProperty = DependencyProperty.Register("SolidGlossCorners", typeof(CornerRadius), typeof(SolidGloss), new PropertyMetadata(new CornerRadius(20,20,20,20))); 
} 
} 

generic.xaml:

<ResourceDictionary 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:local="clr-namespace:UXSDK; assembly=UXSDK"> 

<!-- shared styles --> 

<!-- colors --> 
<Color x:Key="SolidGloss_Color_Container">#19FFFFFF</Color> 
<Color x:Key="SolidGloss_Color_Upper">#19FFFFFF</Color> 
<Color x:Key="SolidGloss_Color_Lower">#33000000</Color> 

<!-- measures --> 
<CornerRadius x:Key="Solid_CornerRadius_Container_Full">6</CornerRadius> 
<Thickness x:Key="SolidGloss_Thickness_Border">1</Thickness> 

<!-- Solid Gloss Background Element --> 
<Style TargetType="local:SolidGloss"> 
    <Setter Property="Template"> 
     <Setter.Value> 
...Visual Design... 
     </Setter.Value> 
    </Setter> 
</Style> 

</ResourceDictionary> 

MainPage.xaml中(单独的项目引用UXSDK组装)

<UserControl 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:UX="clr-namespace:UXSDK;assembly=UXSDK" 
x:Class="UXSDKTestBed.MainPage" 
Width="640" Height="480" Foreground="#33000000"> 

<Grid x:Name="LayoutRoot" Background="#FF191919"> 
    <UX:SolidGloss Width="200" Height="32"/> 
</Grid> 
</UserControl> 

回答

6

是您的程序集名称绝对UXSDK ?您是否尝试从XML名称空间映射中删除空间?

xmlns:local="clr-namespace:UXSDK;assembly=UXSDK" 
+1

我觉得自己像一个白痴...这是空间。谢谢,肯特! – Eric 2010-10-21 18:47:36

+0

感谢您的帮助,我的意思是;) – Eric 2010-10-21 18:47:56