У меня есть следующий xaml-файл данных silverlight, который идеально работает в режиме разработки:
<viewmodel:MapViewModel
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:viewmodel="clr-namespace:MyApplication.ViewModels">
<viewmodel:MapViewModel.Lines>
<viewmodel:Line Line="M 100 100 L 280 100 S 302 102 315 115 L 500 300"/>
</viewmodel:MapViewModel.Lines></viewmodel:MapViewModel>
Поскольку эти данные также полезны во время выполнения (может быть, не навсегда), я хочу прочитатьXML в коде позади.Поэтому я использую XDocument, и он работает, значит, я могу читать и анализировать весь документ.Но я не могу понять, как получить доступ к элементам.Как я могу получить доступ к «линии»?
То, что я пробовал, это:
var lines = doc.Descendants(XName.Get("Line", "viewmodel:")).ToArray();
Это всегда ничего не возвращает.Поскольку я предполагал, что это проблема пространства имен, я попытался
- "viewmodel"
- "viewmodel:"
- "MyApplication.ViewModels"
- "MyApplication.ViewModels:"
- "clr-namespace: MyApplication.ViewModels" и
- "clr-namespace: MyApplication.ViewModels:"
Может кто-нибудь сказать мне, что я делаю неправильно?Является ли отсутствующий xml-заголовок причиной?Я уже прочитал xml-файл с правильным заголовком (но без пространства имен), и это сработало.