ルートタグは基本クラスです。これが、デフォルトのWindow1のルートがWindowである理由です。メニューオプションの[追加]>[UserContol...]を使用すると、実際にはUserContolのサブクラスが作成されます。
いくつかの共通要素があり、コントロールの基本クラスが必要な場合は、基本クラスをルートタグとして使用できます。xamlで定義されたビジュアルツリーを持つクラスからクラスを派生させることはできませんが、基本クラスはUserConrtolから派生させることができます。
まず、基本クラスを定義します。
public class MyControlBase : UserControl
{
// ...
}
次に、特定の子クラスを作成します。
(自動的に作成されたUserControl1から始めて、そこから変更できます)
public partial class MyControl1 : MyControlBase
{
public MyControl1()
{
InitializeComponent();
}
}
次に、Xaml側を次のように変更します。
<MyNamespace:MyControlBase
x:Class="MyNamespace.MyControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:MyNamespace="clr-namespace:MyNamespace">
これは、UserControl以外の組み込みのコントロールから派生したカスタムコントロールを作成するための優れた方法です。通常、可能な場合は基本的なUserConrtolを使用し、必要な場合にのみカスタムコントロールを作成することをお勧めします。
幸運を、