【问题标题】:Program crashes on startup with ImageBrush使用 ImageBrush 启动时程序崩溃
【发布时间】:2014-01-22 23:38:47
【问题描述】:

我正在尝试在 Visual Studio 2013 中创建一个带有 ImageBrush 背景的非常简单的窗口,作为对更复杂项目的测试。该图像显示在设计器中,但是当我启动它时程序崩溃了。这是 XAML:

<Window x:Class="BackgroundTest.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid Name="grid1">
        <Grid.Background>
            <ImageBrush ImageSource="/Images\Koala.jpg" Stretch="Fill"/>
        </Grid.Background>
    </Grid>
</Window>

还有基本上是空的 C#(就像我说的,只是一个测试):

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Imaging;

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

我很肯定它与 ImageBrush 有关,如果我删除 XAML 的那部分,程序将按预期运行一个空白窗口。谁能帮我把它运行起来?

这是调试输出: PresentationFramework.dll 中出现“System.Windows.Markup.XamlParseException”类型的第一次机会异常

附加信息:“在“System.Windows.Baml2006.TypeConverterMarkupExtension”上提供值引发异常。”行号“7”和行位置“14”。

【问题讨论】:

  • 可能是图片来源的原因?试试“/Images/Koala.jpg”
  • 我尝试了多个图像源,并将图像添加到资源中。运气不好!
  • 您是否在项目中添加了文件夹Images和image?或者他们只是在那里的某个地方?您是否尝试过像“C:\Images\koala.jpg”这样的源完整路径?
  • 文件夹“Images”在项目中,它在设计器中显示得非常好。我就是无法运行程序。
  • 检查App.xaml文件中的错误

标签: c# wpf visual-studio xaml imagebrush


【解决方案1】:

您的图像的构建操作可能设置为内容。改为将其更改为资源。

【讨论】:

  • 仍然抛出同样的异常。
  • 为我做了。必须先将其添加为资源。谢谢
【解决方案2】:

知道了!我通过在解决方案资源管理器中右键单击解决方案名称 -> 属性 -> 资源 -> 添加资源 -> 添加现有文件并选择考拉的图片,将图像添加到程序的资源中。我将 XAML 中的代码更改为:

ImageSource="Resources/Koala.jpg"

听从 Eric 的建议,我在解决方案资源管理器中单击了资源,果然图片在那里,我能够将构建操作更改为资源。之后它工作得很好,谢谢埃里克!一旦我有足够的声誉,我会检查你的答案。我对堆栈溢出还很陌生。

【讨论】:

    【解决方案3】:

    您的图像源中有一个反斜杠...

    假设Images 是您解决方案中的一个文件夹,您的图像源应该是:

    Source="../Images/Koala.jpg"
    

    甚至更好:

    Source="pack://application:,,,/Images/Koala.jpg"
    

    【讨论】:

    • 这两个选项仍然会导致崩溃。
    • 和 Images/Koala.jpg 在我的项目中绝对是一个有效的 Uri。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    • 1970-01-01
    • 2016-09-02
    相关资源
    最近更新 更多