[XAML/Silverlight 3] Возможно ли создать такой шаблон?

ifani

У меня в приложении есть множество панелей с рамкой, заголовком (название + возможно, некий дополнительный контент) и самим контентом этой панели.
То есть что-то вроде:
 
 
<Border Style="{StaticResource CommonPanelBorder}">
<StackPanel>
<Border Style="{StaticResource CommonPanelHeaderBorder}">
<Grid Height="16">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>

<TextBlock Grid.Column="0" HorizontalAlignment="Left" FontWeight="Bold" Text="ЗАГОЛОВОК"/>
<StackPanel Grid.Column="1" HorizontalAlignment="Right" Orientation="Horizontal">
КОНТЕНТ1
</StackPanel>
</Grid>
</Border>

КОНТЕНТ2
</StackPanel>
</Border>

Хочется один раз эту структуру описать, а потом задавать только ЗАГОЛОВОК, КОНТЕНТ1 и КОНТЕНТ2.
Возможно ли такое? И если да, то как? Если нет, то как наиболее правильно это должно хотеться и делаться в Silverlight? :)
Посмотрел ControlTemplate - это практически то, что надо, но там, насколько я понял, можно указать только один ContentPresenter, а у меня три места для вставки контента.
Посмотрел DataTemplate - насколько я понял, в качестве источника данных там используется модельный класс (или коллекция а мне бы хотелось в качестве КОНТЕНТ1 и КОНТЕНТ2 задавать XAML код.
Можно, конечно, забить и скопировать эту структуру n раз, но очень хочется сделать красиво :)

Dasar

Посмотрел ControlTemplate - это практически то, что надо, но там, насколько я понял, можно указать только один ContentPresenter, а у меня три места для вставки контента.
можно несколько задавать под разными именами.
зы
лучше может быть containercontrol сделать

ifani

можно несколько задавать под разными именами
А подскажи, плиззз, как эти имена в шаблоне задаются, и как потом по именам задавать контент?
А то в документации такого не нашёл.

Dasar

А подскажи, плиззз, как эти имена в шаблоне задаются, и как потом по именам задавать контент?
сделай лучше контрол, так точно должно работать
ps
contentpresenter это по идее пара к контролу, если в контроле было несколько зон для вывода контента, тогда можно и несколько contentpresenter-ов вставлять

ifani

сделай лучше контрол, так точно должно работать
Спасибо, и правда, работает :)
Оставить комментарий
Имя или ник:
Комментарий: