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

标签 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”?

最佳答案

My question is how do I customize my control so that the Visual Studio designer generates a different namespace for the control

您可以使用 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,将不会有与命名空间不同的前缀,而是命名空间自己的名称。

关于UWP 控件的 XAML 命名空间标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46561581/

相关文章:

c# - xaml c# 中的可观察集合静态资源

wpf - 从 ListView 的 ItemContainer 为 ContextMenu 设置 DataContext?

c# - UWP 专注于 AutoSuggestBox

c# - 带有自定义刻度的 slider (标签和速度)

uwp - 如何在 UWP 中创建类似于 Segoe MDL2 Assets 的图标

c# - 如何设置 UWP 元素的状态?

c# - UWP 页面转换应用于所有页面的框架

c# - 在 WPF 中为 DataGridRow 创建 ControlTemplate

c# - WPF:更改每个页面导航上的窗口标题

c# - WPF TextBox MaxLength——有没有办法将其绑定(bind)到绑定(bind)字段上的数据验证最大长度?