2013-01-11 17 views
0

我仍然是學習者,在我的應用程序中面臨一些問題。發生XamlParseException:無法從文本中創建'System.Windows.Media.Geometry'

我有幾何字符串,我想在銀光應用程序上顯示它。 我正在使用以下代碼來顯示它,其中「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>"); 

我的幾何串太大,所以我不能張貼在這裏..... 當我把這個字符串靜態路徑對象中銀輕應用的設計窗口中,幾何形狀是完全顯示,但是當我運行它顯示我同樣的錯誤。

當我將該字符串放入WPF應用程序的設計窗口中的靜態路徑對象中時,幾何圖形顯示完美,並且運行完美。

幫幫我請..........

+0

只是改進了一些格式。您的示例以「/ Path>」結尾,應該是「」。這是你的問題或代碼中的錯字? – Jacco

+0

真的很感謝你......你說得對。 –

+0

請立即查看。 –

回答

0

有兩個問題,第一個可能是格式化。在調試器中驗證您的路徑是您的想法。由於我們無法知道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; 

如果正在工作,請以什麼路徑指向實際數據...也許有一個權限問題或代碼不讀取數據,你認爲它是...

相關問題