创建'System.Windows.Media.Geometry'从文本中
本文关键字:文本 Geometry Windows System 创建 Media | 更新日期: 2023-09-27 17:51:15
我还在学习,在我的申请中面临一些问题。
我有几何字符串,我想在银光应用程序上显示它。我使用以下代码来显示它,其中"GeoObject"是字符串,这是几何标记。几何是非常大的,有更多的点。有些代码工作正常,有些代码不工作,给我错误"Failed to create a 'System.Windows.Media. "几何"来自文本"。我想找出问题所在,但还没找到。
这里有人遇到过这样的问题吗?如果有,你找到解决办法了吗?
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>");
我的几何字符串太大,所以我不能把它贴在这里.....当我把字符串在静态路径对象在银光应用程序的设计窗口,几何图形显示完美,但当我运行它显示我同样的错误。
当我在WPF应用程序的设计窗口中将该字符串放在静态路径对象中时,几何图形完美地显示出来,也完美地运行。
请帮帮我..........
有两个问题,第一个可能是格式。在调试器中验证您的路径是您所认为的。因为我们不知道GeoObject ToString是怎样的(它在调用重载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;
如果这是工作,验证路径指向的是实际数据…