我爲A類定義了依賴項屬性。但是,我可以在B的一個實例中查詢該屬性的值。爲什麼?常規依賴項屬性返回值(即使它尚未爲類定義)
爲了說明,看起來這個代碼(WPF):
using System.Windows;
namespace Sample
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
var propDefinedForA = DependencyProperty.Register("SomeProperty", typeof(int), typeof(A), new PropertyMetadata(defaultValue: 10));
var b = new B();
var value = b.GetValue(propDefinedForA);
}
}
public class A: DependencyObject
{
}
public class B: DependencyObject
{
}
}
此代碼的執行之後,將值爲10。這是爲什麼甚至可能嗎?我沒有定義DP爲B類,而是爲A.
這種行爲的原因是什麼?