У нас есть много элементов управления, которые состоят из: контейнера с закругленными границами и пары кнопок, которые вызывают команды сохранения и отмены на модели представления, примерно так:
<Border Background="White" CornerRadius="10" BorderBrush="Black" BorderThickness="1" Opacity="1" Padding="5,5,5,5" VerticalAlignment="Center" HorizontalAlignment="Center">
<StackPanel>
<!--Some Control Stuff Here...-->
<controls:SaveCancelButtons/>
</StackPanel>
</Border>
Что я хотел бы сделать, так это создать собственный элемент управления / стиль / шаблон и т. Д., Который позволит мне использовать его повторно, чтобы я мог просто обернуть любой новый пользовательский элемент управления в набор тегов, который помещает его содержимое в панель стека ( комментарий выше)
Какой лучший способ добиться этого?
РЕДАКТИРОВАТЬ:
ОК. Теперь у меня есть такой шаблон:
<ControlTemplate x:Key="RoundedBordersTemplate">
<Border Background="White" CornerRadius="10" BorderBrush="Black" BorderThickness="1" Opacity="1" Padding="5,5,5,5" VerticalAlignment="Center" HorizontalAlignment="Center">
<StackPanel>
<ContentPresenter/>
<controls:SaveCancelButtons/>
</StackPanel>
</Border>
</ControlTemplate>
И управление реализовано так:
<ContentControl Template="{StaticResource RoundedBordersTemplate}">
<StackPanel>
<StackPanel Orientation="Horizontal">
<Label Content="Description: " Width="72"/>
<TextBox Text="{Binding Path=Description}"
Width="205" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<Label Content="Type:" Width="72" />
<ComboBox ItemsSource="{Binding Path=TypeList}"
DisplayMemberPath="Description"
SelectedValuePath="ID"
Width="205" />
</StackPanel>
</StackPanel>
</ContentControl>
Но я вижу только кнопки Сохранить / Отменить.