UWP控件的XAML名称空间标识符

时间:2017-10-04 09:35:28

标签: xaml uwp uwp-xaml

我正在构建扩展SDK以在Visual Studio工具箱中安装Windows 10 UWP自定义控件 扩展SDK安装正常,自定义控件出现在工具箱中 当我将自定义控件从工具箱拖到XAML页面上时,将添加控件并在页面XAML中显示以下条目:
- 页面标记上的属性xmlns:View="using:Xfinium.Pdf.View"
- 控件的<View:PdfCoreView ... />标记。

我的问题是如何自定义我的控件以便Visual Studio设计器为控件生成不同的命名空间,例如'xfs'(xmlns:xfs="using:Xfinium.Pdf.View")而不是'View'?

1 个答案:

答案 0 :(得分:1)

  

我的问题是如何自定义我的控件,以便Visual Studio设计器为控件生成不同的命名空间

您可以使用xmlns作为前缀自行手动定义值。您可以手动将xmlns:xfs="using:Xfinium.Pdf.View添加到Page的声明中,以将xfs映射到自定义using:Xfinium.Pdf.View命名空间。然后,当您从工具箱中拖动自定义控件时,它将具有您想要的xfs前缀。

<Page
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    ...         
    x:Class="Cleantest.MainPage"
    mc:Ignorable="d"
    xmlns:xfs="using:Microsoft.Toolkit.Uwp.UI.Controls" 
     >
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">  
        <xfs:Carousel HorizontalAlignment="Left" Margin="161,254,0,0" VerticalAlignment="Top"/>
        <xfs:ImageEx HorizontalAlignment="Left" Margin="161,354,0,0" VerticalAlignment="Top"/>
        <!--<Controls:Carousel HorizontalAlignment="Left" Margin="161,254,0,0" VerticalAlignment="Top"/>-->
    </Grid>
</Page>

如果未设置引用命名空间的自定义值,则直接从工具箱中拖动自定义控件,使用命名空间名称自动生成前缀。例如,Xfinium.Pdf.View应为View:Microsoft.Toolkit.Uwp.UI.Controls应为Controls:。因此,如果要更改此值,则应更改原始包的名称空间名称。

建议在页面声明中自己定义值。如果没有这个,XAML将不会有与命名空间不同的前缀,而是名称空间自己的名称。