UWP XAML 模板化控件 - “编辑副本”已禁用

本文关键字:编辑副本 副本 编辑 XAML 模板化控件 UWP | 更新日期: 2024-12-05 21:14:46

在我的解决方案中,我有一个UWP应用和一个UWP类库(都面向Windows 10内部版本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>

UWP XAML 模板化控件 - “编辑副本”已禁用

我有一个快速的答案。我稍后会提供更全面的解释。

A. 如果 UWP 应用的生成配置设置为"x64",则"编辑副本"菜单项不可用。如果我将其更改为"x86",则可用。