В моем решении у меня есть приложение UWP и библиотека классов UWP (оба нацелены на сборку Windows 10 Build 10240).
Я добавил шаблонный элемент управления в библиотеку классов. Этот элемент управления наследуется от Windows.UI.Xaml.Controls.Control согласно:
[TemplatePart(Name = GRID_CONTAINER_PART_NAME, Type = typeof(Grid))]
[TemplatePart(Name = CAPTURE_ELEMENTPREVIEW_PART_NAME, Type = typeof(CaptureElement))]
[TemplatePart(Name = CANVAS_PREVIEW_PART_NAME, Type = typeof(Canvas))]
[TemplatePart(Name = TEXTBLOCK_STATUS_PART_NAME, Type = typeof(TextBlock))]
public sealed class FaceDetectorPreview : Control
(Я решил унаследовать от шаблонного элемента управления, чтобы элемент управления можно было развертывать в различных приложениях и дать разработчику возможность изменять внешний вид компонентов)
В приложении я могу добавить элемент управления на страницу XAML, запустить приложение, и все будет работать нормально.
Однако в дизайнере, когда я выбираю «Редактировать шаблон», пункт меню «Редактировать копию» отключается.
В. Что мне нужно изменить, чтобы сделать доступным пункт меню «Редактировать копию»?
Код в Generic.xaml показан ниже:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:FaceDetection.Controls">
<Style TargetType="local:FaceDetectorPreview">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:FaceDetectorPreview">
<Grid x:Name="PART_GridContainer">
<CaptureElement x:Name="PART_CaptureElementPreview" />
<Canvas x:Name="PART_CanvasPreview" />
<TextBlock x:Name="PART_TextBlockStatus" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>