Я изучаю Silverlight. В процессе я пытаюсь создать пользовательский элемент управления. Моя конечная цель - написать следующее заявление на XAML:
<my:CustomControl>
<my:CustomControl.MainControl>
<Canvas><TextBlock Text="Hello!" /></Canvas>
</my:CustomControl.MainContent>
</my:CustomControl>
Содержимое элемента управления будет обернуто в пользовательскую рамку. Еще раз, это просто учебное упражнение. Чтобы добавить мою границу, я создал следующий UserControl:
<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>
Код для этого файла выглядит следующим образом:
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();
}
}
У меня проблема с отображением MainContent в моем CustomControl. Я уверен, что правильно его настраиваю, но не уверен, как это отобразить. Я действительно хочу, чтобы это был также DependencyProperty, чтобы я мог использовать преимущества привязки данных и анимации.
Как заставить MainContent появляться в CustomControl? Спасибо