J'apprends Silverlight. Dans le processus, j'essaie de créer un contrôle utilisateur personnalisé. Mon but ultime est de pouvoir écrire la déclaration suivante en XAML:Silverlight - Liaison de contrôle utilisateur
<my:CustomControl>
<my:CustomControl.MainControl>
<Canvas><TextBlock Text="Hello!" /></Canvas>
</my:CustomControl.MainContent>
</my:CustomControl>
Le contenu du contrôle sera enveloppé dans une bordure personnalisée. Encore une fois, c'est juste un exercice d'apprentissage. Pour ajouter ma frontière, je crée le UserControl suivant:
<UserControl x:Class="CustomControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006">
<Grid x:Name="LayoutRoot">
<Border>
<!-- CustomControl Content -->
</Border>
</Grid>
</UserControl>
Le code-behind pour ce fichier se présente comme suit:
public partial class CustomControl : UserControl
{
public UIElement MainContent
{
get { return (UIElement)GetValue(MainContentProperty); }
set { SetValue(MainContentProperty, value); }
}
public static readonly DependencyProperty MainContentProperty =
DependencyProperty.Register("MainContent", typeof(UIElement), typeof(CustomControl),
new PropertyMetadata(null));
public CustomControl()
{
InitializeComponent();
}
}
La chose que je suis un problème avec est d'obtenir le Maincontent apparaître dans mon CustomControl. Je suis confiant que je le mets correctement, mais je ne suis pas sûr de savoir comment l'afficher. Je veux vraiment que ce soit un DependencyProperty ainsi je peux tirer parti de la liaison de données et des animations.
Comment faire pour que MainContent s'affiche dans le CustomControl? Merci