【问题标题】:XAML designer gives error - The name does not exist in namespace [closed]XAML 设计器给出错误 - 名称空间中不存在该名称 [关闭]
【发布时间】:2018-07-03 13:57:42
【问题描述】:

我要做的是使用 XAML 中的 Page.Resources 在我的项目中放置一个自定义转换器。

我一直坚持这样做,因为 Visual Studio 抛出了一个错误,上面写着

'名称空间中不存在名称'DoubleValueConverter''

这是它抛出的错误

这是我的自定义转换器的代码

【问题讨论】:

  • 请阅读How to Ask。另外,请注意您的代码存在编译错误
  • 检查过您是否缺少导入 (using)?如果是,编译器找不到接口(.cs 文件)。它甚至存在吗?
  • 请不要将代码发布为图像,而应以文本形式发布。它更易于阅读和搜索。而且我猜你必须使用转换器的完整名称:MAD_Les8_Binding.Converters1.DoubleValueConverter 在 xaml
  • 代码图像在这里绝对没用。请参阅this Meta post 了解不应使用它们的众多原因列表。代码是文本,可以直接复制并粘贴到您的帖子中并正确格式化。请这样做。谢谢。 (当您在此处创建帐户时,建议您使用tour 并阅读help center 页面。请也这样做,尤其是How to Askminimal reproducible example,然后再在这里提出您的下一个问题。)跨度>

标签: c# visual-studio uwp namespaces converters


【解决方案1】:

方法的签名不正确,你提供了WPF的签名IValueConverter,UWP中Convert的签名是

Convert(Object, Type, Object, String)
(last Argument is of `String` and not `CultureInfo`)

https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.data.ivalueconverter

因此,您无法构建项目,并且设计师抱怨找不到转换器。

此外,正如 René Voigt 在 cmets 中提到的那样,您没有提供完全限定的名称,并且只指向父类(未声明为公共,不确定这是否会造成问题) - 我建议删除嵌套 - 所以删除类围绕两个转换器 - DoubleValueConverter

【讨论】:

    【解决方案2】:

    嗯,几乎不可能肯定地说,因为你的第一张图片太小,放大时看不清楚,但错误不是告诉你你试图使用的命名空间被调用

    “使用Mad_Les8_Binding.Converter1”

    而不是我想的那样

    “Mad_Les8_Binding.Converter1”

    ?

    编辑:正如上面其他人所说,不要发布图像而是代码,否则会发生这种情况

    【讨论】:

    • using: 语法实际上是包含命名空间,因此您可以利用其中定义的内容。除非它缺少“:”,否则这不会导致任何问题。
    • @AndréB“使用”很好,但如果他写的时候没有空格或其他分隔符(就像我说的那样,图像是一个糟糕的主意),我真的不认为它可以对。那时,他只是调用了一个不同的命名空间。如果分隔符在那里,是的,那不是问题。
    猜你喜欢
    • 2018-11-10
    • 1970-01-01
    • 2013-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    相关资源
    最近更新 更多