发生了System.Windows.Markup.XamlParseException。 2017年微软视觉工作室社区

时间:2017-05-18 13:20:59

标签: c# xaml

请有人帮忙。我在尝试编译XAML代码时遇到了以下异常。

  

发生了System.Windows.Markup.XamlParseException   的HResult = 0x80131501   Message ='提供值'System.Windows.Baml2006.TypeConverterMarkupExtension'引发异常。行号'28'和行位置'22'。   来源= PresentationFramework   堆栈跟踪:   在System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader,IXamlObjectWriterFactory writerFactory,Boolean skipJournaledProperties,Object rootObject,XamlObjectWriterSettings settings,Uri baseUri)   在System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader,Boolean skipJournaledProperties,Object rootObject,XamlAccessLevel accessLevel,Uri baseUri)   在System.Windows.Markup.XamlReader.LoadBaml(Stream stream,ParserContext parserContext,Object parent,Boolean closeStream)   在System.Windows.Application.LoadComponent(对象组件,Uri resourceLocator)   在c:\ users \ mypc \ documents \ visual studio 2017 \ Projects \ XAMLImage \ XAMLImage \ MainWindow.xaml:line 1

中的XAMLImage.MainWindow.InitializeComponent()      

内部例外1:   IOException:找不到资源'images / tahoe_01.jpg'。

异常发生在后面代码的c#partial类的“InitializeComponent()”处。下面是c#partial class

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace XAMLImage
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
    }
}

以下是XAML代码

<Window x:Class="XAMLImage.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:XAMLImage"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="604">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height = "1*"/>
            <RowDefinition Height = "1*"/>
        </Grid.RowDefinitions>

        <StackPanel Orientation="Horizontal">
            <Image Width = "200" VerticalAlignment = "Top" Margin = "30"/>
            <Image Width = "200" Source = "Images\flow5.gif" 
            VerticalAlignment = "Top" Margin = "30" Opacity = "0.5"/>
        </StackPanel>

        <StackPanel Grid.Row = "1">
            <Ellipse Height = "100" 
            Width = "200" 
            HorizontalAlignment = "Center" 
            Margin = "30">

                <Ellipse.Fill>
                    <ImageBrush ImageSource = "Images\bubble.png" />
                </Ellipse.Fill>

            </Ellipse>



        </StackPanel>
    </Grid>
</Window>

ImageBrush元素的Image和ImageSource URL的源URL下面有一条蓝色波浪线。我将鼠标悬停在它们上面,并且intellisense说“找不到文件'c:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Community \ Common7 \ IDE \ images%5Cmyfilename.gif'”(其中一个文件是一个gif,另一个是png)。我认为这些文件是一个不正常的路径,但我继续创建了该路径上的URL,但是仍在投掷。

请有人帮忙。我正在使用Microsoft Visual Studio社区2017

干杯

1 个答案:

答案 0 :(得分:0)

在这些社区的好人的帮助下,我设法解决了这个问题。您需要images文件夹才能成为项目的一部分。 images文件夹需要与代码文件位于同一文件夹中。这些可以通过将图像文件夹复制并粘贴到与Windows文件资源管理器中的代码文件相同的文件夹中来实现。在这之后,我能够看到我的设计师的图像。但该项目仍然不了解图像(至少在编译/运行时)。要让项目了解images文件夹,需要将其包含在项目中。您可以通过在Visual Studio中访问解决方案资源管理器,上方栏中显示“显示所有文件”的图标按钮。单击后,您应该看到该文件夹​​,但不透明度较低。右键单击它,然后“包含在项目中”。