【问题标题】:XamlParseException occurred: Failed to create a 'System.Windows.Media.Geometry' from the text发生 XamlParseException:无法从文本创建“System.Windows.Media.Geometry”
【发布时间】:2012-12-25 17:12:40
【问题描述】:

我还在学习,在我的应用程序中遇到了一些问题。

我有几何字符串,我想在银光应用程序上显示它。 我正在使用以下代码来显示它,其中“GeoObject”是字符串,它是几何标记。 几何图形非常大,并且包含更多点。 这段代码可以正常工作,但不能正常工作并给我错误“无法从文本创建'System.Windows.Media.Geometry'”。 我试图找出问题,但找不到。

这里有人遇到过这样的问题吗?如果是,那么您找到解决方案了吗?

string nsPath ="<Path xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\" Data=\"";
var section = (System.Windows.Shapes.Path)XamlReader.Load(nsPath + GeoObject + "\" " + "</Path>");

我的几何字符串太大,所以我不能在这里发布..... 当我将该字符串放在 Silver-light 应用程序设计窗口中的静态路径对象中时,几何图形完美显示,但当我运行它时,它显示相同的错误。

当我将该字符串放入 WPF 应用程序设计窗口中的静态路径对象时,几何图形完美显示并且运行完美。

请帮帮我…………

【问题讨论】:

  • 刚刚改进了一些格式。您的示例以“/Path>”结尾,应该是“”。这是您的问题还是您的代码中的错字?
  • 真的谢谢你……你是对的。
  • 请立即查看。
  • 我对 xaml 不太熟悉,但是这篇文章对您有帮助吗? stackoverflow.com/questions/11331549/…
  • 也许它太大了。 XamlParseException 中是否有任何 InnerException?

标签: c# .net wpf silverlight xaml


【解决方案1】:

有两个问题,第一个可能是格式。在调试器中验证您的路径是您认为的那样。由于我们不知道 GeoObject ToStrings 是如何(调用重载 ToString 时返回的内容),因此 StackOverflow 上无法诊断。

我还认为示例错误,并且生成的路径对象失败,节点结尾错误。使用此节点结束修复并在调试器中检查每一行,以确保获得所需的路径和所需的演员表

string nsPath ="<Path xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\" Data=\"";

var path = string.Format("{0}{1}\"/>", nsPath, GeoObject);
var xmlResult = XamlReader.Load(path);
var section = (System.Windows.Shapes.Path) xmlResult;

如果可行,请验证路径指向的是实际数据...可能存在权限问题或代码未读取您认为的数据...

【讨论】:

    猜你喜欢
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 1970-01-01
    • 1970-01-01
    • 2021-10-11
    • 2012-03-28
    • 2015-12-06
    相关资源
    最近更新 更多