в моем приложении Silverlight 4, я хочу создать простой пользовательский элемент управления, который может - помимо других вещей - содержать другой элемент управления. Примером того, что я хочу, является Border-Control. Вы можете поместить любой другой элемент управления (точно ОДИН другой элемент управления) "в" Border-Control, так что Border-Control содержит другой пользовательский элемент управления и отображает его содержимое. Что мне нужно сделать, чтобы создать пользовательский элемент управления с этой возможностью? Идея заключается в том, чтобы поставить другой контроль в ContentPresenter в моем пользовательский элемент управления, как:Создайте пользовательский элемент управления, который может содержать дочерний элемент (например, элемент Border-Element)
<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock x:Name="TextBlockHeader" Text="{Binding Title, ElementName=userControl}" HorizontalAlignment="Left" Foreground="White" Margin="5,0"/>
<ContentPresenter x:Name="ContentPresenterObject" Grid.Row="1" />
</Grid>
Теперь, что делать, чтобы иметь возможность добавлять (в Expression Blend) дочерний элемент управления для моего UserControl и как привязать его к ContentPresenter? Или это неправильный подход?
Спасибо заранее,
Frank
Привет Шон, спасибо за совет! Я, наконец, решил попробовать использовать ContentControl. Я пытался избежать этого, потому что мне не нужны все функции, такие как шаблоны и т. Д. Единственным недостатком UserControl является то, что вы не можете добавить к нему дочерний элемент управления. ContentControl-Design, по-видимому, немного испорчен для меня: что делать, если я хочу использовать несколько элементов управления? Мне нужно будет скопировать xaml в Generic.xaml для каждого ... – Aaginor
Aaginor, что вы подразумеваете под «несколькими элементами управления»? Вы можете поместить несколько контента в элемент управления контентом, если эти элементы управления обернуты в Grid или другой тип Panel. –
Я имел в виду разные пользовательские элементы управления в проекте. Насколько я понимаю, XAML-часть пользовательского элемента управления должна быть в файле Generic.xaml. Поэтому, если я использую разные пользовательские элементы управления, мне нужно будет скопировать xaml-часть каждого элемента управления в файле Generic.xaml. – Aaginor