1

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

我在项目 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>

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

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

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

附加信息:未指定的错误

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

4

1 回答 1

2

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

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

于 2012-11-10T11:01:54.060 回答