Silverlight自定义控件中属性TargetType的属性值无效

时间:2009-05-20 04:05:40

标签: c# .net silverlight silverlight-3.0

知道为什么我用以下代码得到此错误?我正在尝试在Silverlight 3中为自定义控件创建默认模板。

IInvalid属性值custom:CaptionControl属性TargetType。 [行:5位置:23]

<ResourceDictionary 
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:custom="clr-namespace:Controls.Silverlight">
    <Style TargetType="custom:CaptionControl">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="custom:CaptionControl">
                    <Grid x:Name="RootElement">

                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>

using System.Windows;
    using System.Windows.Controls;

    namespace Controls.Silverlight
    {
        public class CaptionControl : ContentControl
        {
            public CaptionControl()
            {
                this.DefaultStyleKey = typeof(CaptionControl);
            }

            public double CaptionWidth
            {
                get { return (double)GetValue(CaptionWidthProperty); }
                set { SetValue(CaptionWidthProperty, value); }
            }

            // Using a DependencyProperty as the backing store for CaptionWidth.  This enables animation, styling, binding, etc...
            public static readonly DependencyProperty CaptionWidthProperty =
                DependencyProperty.Register("CaptionWidth", typeof(double), typeof(CaptionControl), null);


            public string Caption
            {
                get { return (string)GetValue(CaptionProperty); }
                set { SetValue(CaptionProperty, value); }
            }

            // Using a DependencyProperty as the backing store for Caption.  This enables animation, styling, binding, etc...
            public static readonly DependencyProperty CaptionProperty =
                DependencyProperty.Register("Caption", typeof(string), typeof(CaptionControl), null);


        }
    }

IInvalid属性值custom:CaptionControl属性TargetType。 [行:5位置:23]

1 个答案:

答案 0 :(得分:0)

我发现了问题。我认为Visual Studio以某种方式在我的App.xaml中自动输入以下代码,解决了代码问题。

<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="/Controls.Silverlight;Component/themes/generic.xaml"/>
</ResourceDictionary.MergedDictionaries>