XamlParseException в Windows XP - PullRequest
       8

XamlParseException в Windows XP

2 голосов
/ 20 марта 2010

У меня есть приложение WPF, которое отлично работает на vista / 7, но в Windows XP оно исправляет ошибку System.Windows.Markup.XamlParse, и это довольно неприятно, потому что в моем приложении много черт и я не знаю, в чем причина проблемы.

Может кто-нибудь здесь пролить свет?

Ответы [ 2 ]

1 голос
/ 14 октября 2013

В моем случае мне пришлось поменять источник элемента Image . Он имеет ico файл, но XP не может иметь его в качестве источника для этого типа элемента.

<Image Grid.Row="0" Grid.Column="1" Grid.RowSpan="2" Width="48" Height="48" VerticalAlignment="Center"
   Source="Resources/Images/favicon.ico" />

Мне пришлось изменить его и сделать конкретный файл PNG

<Image Grid.Row="0" Grid.Column="1" Grid.RowSpan="2" Width="48" Height="48" VerticalAlignment="Center"
   Source="Resources/Images/favicon-256.png" />

Моя ошибка была:

    Exception: Provide value on 'System.Windows.Baml2006.TypeConverterMarkupExtension' threw an exception. PresentationFramework    at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri)
   at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
   at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
   at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
   at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
1 голос
/ 20 марта 2010

Это часто вызывается тем, что один из ваших шаблонов элементов управления использует что-то из сборки PresentationFramework.Aero. Это может произойти, если вы измените шаблоны с помощью «Редактировать копию» в Blend. Это создаст копию XAML текущего активного шаблона для системной темы, под которой работает Blend. В случае Vista или Win7 это Aero по умолчанию (Classic для XP). Многие из стандартных шаблонов Aero содержат пользовательские элементы (ButtonChrome и т. Д.), Характерные для темы Aero и объявленные в сборке Aero. При работе в XP сборка Aero обычно недоступна, поэтому во время выполнения вы получаете недостающие ссылки в XAML.

Выполните текстовый поиск по всему решению для "PresentationFramework.Aero", и вы должны найти несколько объявлений xmlns, использующих его.

...