none
使用用户控件时的命名空间问题 RRS feed

  • 问题

  • 我在一个项目中添加并完成了一个用户控件文件。在主文件(MainWindow.xaml)中使用该用户控件时,该如何添加对应的命名空间来表明用户控件?

    这是用户控件中的部分XAML代码

    <UserControl x:Class="FontViewer.TextPreviewControl"

                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

                 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 

                 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 

                 mc:Ignorable="d" 

                 >

    2012年1月22日 16:25

答案

  • 首先你要确定你的用户控件的名字空间,(看你的C#代码,你的控件写在哪个Namespace下面);然后在你的MainWindows.xaml中增加 如下xml namespace引用:

    xmlns:local="clr-namespace:你控件的Namespace" 

    “local”是你自己取的一个名字代号,你也可以用 "l" "a" 等任意英文字符。

    然后,你就可以在你的MainWindow XAML中用 <local:TextPreviewControl .... /> 来使用你的控件了。

    这个是一个关于XAML 名字空间映射的问题,请详细看这个MSDN文档:http://msdn.microsoft.com/zh-cn/library/ms747086.aspx#Mapping_To_Custom_Classes_and_Assemblies

     


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    2012年1月23日 8:38
    版主

全部回复

  • 首先你要确定你的用户控件的名字空间,(看你的C#代码,你的控件写在哪个Namespace下面);然后在你的MainWindows.xaml中增加 如下xml namespace引用:

    xmlns:local="clr-namespace:你控件的Namespace" 

    “local”是你自己取的一个名字代号,你也可以用 "l" "a" 等任意英文字符。

    然后,你就可以在你的MainWindow XAML中用 <local:TextPreviewControl .... /> 来使用你的控件了。

    这个是一个关于XAML 名字空间映射的问题,请详细看这个MSDN文档:http://msdn.microsoft.com/zh-cn/library/ms747086.aspx#Mapping_To_Custom_Classes_and_Assemblies

     


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    2012年1月23日 8:38
    版主
  • 谢谢。xmal的命名空间一直让我糊涂。但通过C#来看命名空间就化繁为简了。
    2012年1月23日 10:11