UserControl について話している場合は、すべてのコントロールに共通するいくつかの基本的なプロパティ (幅、高さ、背景など) があります。UserControl 内で、他の場所に追加するのと同じようにプロパティを追加します。
public partial class MyControl : UserControl
{
public MyControl()
{
InitializeComponent();
}
//simple property
public DesiredType PropertyName { get; set; }
//dependancy property
public DesiredType MyProperty
{
get { return (DesiredType)GetValue(MyPropertyProperty); }
set { SetValue(MyPropertyProperty, value); }
}
// Using a DependencyProperty as the backing store for MyProperty. This enables animation, styling, binding, etc...
public static readonly DependencyProperty MyPropertyProperty =
DependencyProperty.Register("MyProperty", typeof(DesiredType), typeof(ownerclass), new PropertyMetadata(0));
}
どちらも便利です (そして公開する必要があります) が、MVVM でのバインディングにはDependencyPropertyの方が適しています。