如何在 WPF 中 define/declare xaml 命名空间?
How to define/declare xaml namespace in WPF?
前几天我在 XAML 中搜索 DataProvider,我发现了这篇文章 Bind to methods with ObjectDataProvider,它解释了 ObjectDataProvider。所以我想试一试。因此,当我复制粘贴 xaml 和代码隐藏文件时,由于我的 xaml 文件中的命名空间不匹配,我得到了无效标记错误。我通过反复试验解决了它,但我没有得到 XAML 及其名称空间的完整概念,所以我想了解更多细节。
XAML 依赖于 .Net Framework 的名称空间概念。您可以使用位于另一个名称空间中的组件(在您的示例中是 ColorHelper)。但是您必须告诉 XAML-Compiler(是的 XAML 可以编译),在哪里可以找到您要使用的东西。您通过首先声明一个 xml 命名空间来做到这一点:
xmlns:local="clr-namespace:SimpleObjectDataProvider"
然后在另一条线上
<ObjectDataProvider x:Key="colors"
ObjectType="{x:Type local:ColorHelper}"
MethodName="GetColorNames"/>
您可以使用此命名空间中定义的所有 classes/WPF-Controls。
您发布的 link 上的示例可能有点令人困惑,因为没有显示 class ColorHelper 的定义位置(在哪个命名空间中)。
前几天我在 XAML 中搜索 DataProvider,我发现了这篇文章 Bind to methods with ObjectDataProvider,它解释了 ObjectDataProvider。所以我想试一试。因此,当我复制粘贴 xaml 和代码隐藏文件时,由于我的 xaml 文件中的命名空间不匹配,我得到了无效标记错误。我通过反复试验解决了它,但我没有得到 XAML 及其名称空间的完整概念,所以我想了解更多细节。
XAML 依赖于 .Net Framework 的名称空间概念。您可以使用位于另一个名称空间中的组件(在您的示例中是 ColorHelper)。但是您必须告诉 XAML-Compiler(是的 XAML 可以编译),在哪里可以找到您要使用的东西。您通过首先声明一个 xml 命名空间来做到这一点:
xmlns:local="clr-namespace:SimpleObjectDataProvider"
然后在另一条线上
<ObjectDataProvider x:Key="colors"
ObjectType="{x:Type local:ColorHelper}"
MethodName="GetColorNames"/>
您可以使用此命名空间中定义的所有 classes/WPF-Controls。 您发布的 link 上的示例可能有点令人困惑,因为没有显示 class ColorHelper 的定义位置(在哪个命名空间中)。