C# 未设置属性的绑定错误

C# 未设置属性的绑定错误,c#,wpf,xaml,C#,Wpf,Xaml,我有下面的XAML,并且正在尝试在两个标签上实现属性,以便在XAML中实例化控件时设置它们的标题。在稍后的阶段,这也将来自代码。请告诉我数据绑定缺少什么,我应该做什么?我是WPF的新手 类的代码 使用系统; 使用System.Collections.Generic; 使用System.Linq; 使用系统文本; 使用System.Windows; 使用System.Windows.Controls; 命名空间xCtrl { 公共类b提示按钮:按钮 { 公共静态只读DependencyProp

我有下面的XAML,并且正在尝试在两个标签上实现属性,以便在XAML中实例化控件时设置它们的标题。在稍后的阶段,这也将来自代码。请告诉我数据绑定缺少什么,我应该做什么?我是WPF的新手


类的代码

使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Windows;
使用System.Windows.Controls;
命名空间xCtrl
{
公共类b提示按钮:按钮
{
公共静态只读DependencyProperty CaptionProperty=
DependencyProperty.Register(“标题”,
类型(字符串),
类型(标签)
);
公共静态只读DependencyProperty HintTextProperty=
DependencyProperty.Register(“HintText”,
类型(字符串),
类型(标签)
);
公共字符串标题
{
获取{return(string)GetValue(CaptionProperty);}
set{SetValue(CaptionProperty,value);}
}
公共字符串HintText
{
获取{return(string)GetValue(HintTextProperty);}
set{SetValue(HintTextProperty,value);}
}
}
}
如果没有,就很难或不可能确定问题是什么,更不用说测试解决方案了。但是仔细查看您的代码,我注意到最明显的错误是您错误地声明了依赖项属性

dependency属性的所有者是将在其中声明属性的类型,而不是希望用作绑定目标的类型

因此,您的代码应该如下所示:

    public static readonly DependencyProperty CaptionProperty =
    DependencyProperty.Register("Caption",
                                typeof(string),
                                typeof(BSHintButton)
                                );
    public static readonly DependencyProperty HintTextProperty =
    DependencyProperty.Register("HintText",
                                typeof(string),
                                typeof(BSHintButton)
                                );
拥有错误的所有者可能会阻止WPF正确处理XAML中声明的绑定。我希望并期望按照上述方式修复代码将允许绑定工作

如果不是,请编辑您的问题,使其包含一个好的代码示例。如果没有它,就不可能“现场”举例说明您的特定问题,从而正确地调试它


说到调试,您还应该养成检查程序调试输出的习惯。绑定不起作用时,WPF通常会向调试输出发出一条或多条错误消息。有些时候,这些信息甚至很有帮助。:)

绑定应用于
DataContext
(模型等),其中as
TemplateBinding
应用于模板控件(按钮)。您应该使用
{TemplateBinding Caption}
。如果我更改为TemplateBinding,它不知道我在做什么,因为它找不到标题HintText的成员。它也找不到DependencProperty on按钮的第一个statc成员。我只是尝试InotifyProperty更改,但也不起作用,所以现在很沮丧。我想这是因为来自时尚?