【发布时间】:2017-06-09 10:30:22
【问题描述】:
我正在尝试将Window 的Title 属性绑定到此Window 的自定义属性。 XAML 如下所示:
Title="{Binding Path=WindowTitle, RelativeSource={RelativeSource Mode=Self}}"
后面的代码是这样的:
public string WindowTitle
{
get
{
string title = (string)GetValue(WindowTitleProperty);
title = string.IsNullOrEmpty(title) ? "Editor" : title;
return title;
}
set
{
SetValue(WindowTitleProperty, value);
}
}
public static readonly DependencyProperty WindowTitleProperty =
DependencyProperty.Register("WindowTitle", typeof(string), typeof(Editor), new UIPropertyMetadata(null));
在将属性 WindowTitle 设置为新值后,此方法效果很好。但不幸的是,在加载Window 时,我没有得到任何标题。 WindowTitle 的吸气剂甚至没有被调用。据我所知,它永远不会被调用。我究竟做错了什么?为什么永远不会调用 getter(即使标题设置正确)?我可以通过其他方式设置默认值吗?
【问题讨论】:
-
虽然引用的问题是关于setter(不是getter),但原因是一样的。请阅读那里的答案。
标签: c# wpf data-binding