La balise racine est la classe de base . C'est pourquoi la racine de Window1 par défaut est Window. L'utilisation de l'option de menu Add> UserContol ... crée en fait une sous-classe pour UserContol.
Si vous avez des éléments communs et que vous voulez une classe de base de contrôle, vous pouvez utiliser la classe de base comme balise racine. Vous ne pouvez pas dériver votre classe à partir de n'importe quelle classe qui a un arbre visuel défini par xaml, mais votre classe de base peut dériver de UserConrtol.
d'abord définir votre classe de base:
public class MyControlBase : UserControl
{
// ...
}
Ensuite, créez votre classe enfant spécifique:
(Vous pouvez commencer par le UserControl1 créé automatiquement et changer à partir de là)
public partial class MyControl1 : MyControlBase
{
public MyControl1()
{
InitializeComponent();
}
}
Ensuite, changez le côté Xaml pour ressembler à ceci:
<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">
Ceci est une excellente façon de créer des contrôles personnalisés dérivés de ceux qui sont intégrés à UserControl. Il est généralement recommandé d'utiliser simplement UserConrtols de base si vous le pouvez et de faire un contrôle personnalisé seulement si vous le devez.
bonne chance,
Vous avez ce travail. Je vous remercie :) – luke