我有一个WPF应用程序,它在vista/7上运行得很好,但在Windows XP上它抛出了System.Windows.Markup.XamlParse错误,这是相当令人沮丧的,因为我的应用程序中有很多地狱般的控件,我不知道是什么导致了这个问题。
有没有人能照亮这里?
发布于 2013-10-14 22:55:21
在我的例子中,我必须更改图像元素的源。它有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)发布于 2010-03-21 00:05:13
这通常是由于您的某个控件模板使用了PresentationFramework.Aero程序集中的内容而导致的。如果你在Blend中使用"Edit a Copy“来修改模板,就会发生这种情况。这将为Blend在其下运行的系统主题生成当前活动模板的XAML副本。在Vista或Win7的情况下,这是默认的航空(经典的XP)。许多默认的Aero模板都包含自定义元素(ButtonChrome等)特定于Aero主题并在Aero程序集中声明的。在XP上运行时,Aero程序集通常不可用,因此在运行时XAML中缺少引用。
在您的整个解决方案中搜索"PresentationFramework.Aero“,应该会找到一些使用它的xmlns声明。
https://stackoverflow.com/questions/2481178
复制相似问题