我有这样定义为一个依赖属性的属性:依赖项属性和回调
public static readonly DependencyProperty HandleProperty =
DependencyProperty.Register("Handle", typeof(Int32?), typeof(SearchTextBox), new PropertyMetadata(HandleChangedHandler));
public Int32? Handle
{
get { return (Int32?)GetValue(HandleProperty); }
set
{
SetValue(HandleProperty, value);
}
}
public static void HandleChangedHandler(DependencyObject sender, DependencyPropertyChangedEventArgs e)
{
var self = (SearchTextBox) sender;
self.FindByHandle((Int32)e.NewValue);
}
有了这个代码,该行从未执行
SetValue(HandleProperty, value);
,但Handle属性被改变。
此属性的值设置在哪里?
为什么不简单地使用属性设置器来做到这一点?
'为什么不简单地使用属性“set”来做到这一点?' - 这部分不清楚。你能否详细说明一下。 –
我想知道如果我们可以使用setter来代替这个回调会更简单。 – Beetlejuice
您仍然可以在setter中编写代码。但是只有当你从代码中设置它时才会调用它。根据XAML设计,XAML从不使用这些和这些。 –