繁体   English   中英

自定义控件属性的默认样式设置器中的 XamlParseException

[英]XamlParseException at default style Setter for custom control property

请原谅这个晦涩的标题,不知道如何最好地表达我的问题......

我在项目 Foo 中编写了一个自定义控件“CustomControl”。 它有一个依赖属性“Title”,它是一个字符串:

public static readonly DependencyProperty TitleProperty =
    DependencyProperty.Register(
        "Title",
         typeof(string),
         typeof(CustomControl),
         PropertyMetadata.Create("Default Title")
    );
public string Title
{
    get { return (string)GetValue(TitleProperty); }
    set { SetValue(TitleProperty, value); }
}

在我的 Generic.xaml 文件中,我试图用 Setter 节点设置“Title”的值:

<Style TargetType="local:CustomControl">

    <!-- Setter for Template property -->

    <Setter Property="Title" Value="Any String" />
</Style>

该应用程序在尝试呈现控件时立即窒息,说它在我的控件中找不到“标题”属性:

Foo.exe 中发生了“Windows.UI.Xaml.Markup.XamlParseException”类型的异常,但未在用户代码中处理

WinRT 信息:在类型“Foo.Controls.CustomControl”中找不到属性“Title”。 [行:X 位置:Y]

附加信息:未指明的错误

我在这里做错了吗? 这是不允许的吗? 当我中断调试器时,我可以看到对象上的 Title 属性,所以我很困惑。

我觉得很傻,最好删除这个问题,因为经过几个小时的头发拉扯,我在发布问题后 10 秒解决了它。

问题出在我的 DependencyProperty.Register 调用中。 我的所有者类型(第三个参数)引用了一个名称非常相似的类,而不是实际拥有的类。 哎呀。 :(

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM