Мне кажется, что другие публикации отвечают на вопрос о том, какое свойство зависимости является достаточно хорошим, поэтому я отвечу на ваш вопрос, показывающий, как создать свойство зависимости, надеюсь, это поможет.
Все ли свойства в XAMLсвойства зависимости?
Нет, свойства зависимости должны быть указаны как таковые.См. Ниже ...
public class MyDataGridControl : DataGrid
{
public string SomeName
{
get { return (string)GetValue(SomeNameProperty); }
set { SetValue(SomeNameProperty, value); }
}
public static readonly DependencyProperty SomeNameProperty =
DependencyProperty.Register(
nameof(SomeName), typeof(string), typeof(MyDataGridControl),
new PropertyMetadata(null));
}
В приведенном выше примере я создал класс, который наследуется от DataGrid, чтобы создать свой собственный элемент управления DataGrid.Я создал «нормальное свойство» SomeName.Затем я регистрирую SomeName как свойство зависимости.Обратите внимание, что хотя SomeName является «обычным свойством», метод получения и установки ссылаются на свойство зависимости SomeNameProperty.