尝试加载 app.xaml

问题描述

我正在 .net 5.0 上编写 Windows 应用程序。 当我尝试在 app.xaml 中的 添加内容时,应用程序在启动时崩溃并显示“System.IO.IOException: 'Cannot locate resource 'app.xaml'.'”。 我观察到异常是由下一个代码引发的:

System.Uri resourceLocater = new System.Uri("/Myapplication;component/app.xaml",System.UriKind.Relative);
System.Windows.Application.LoadComponent(this,resourceLocater);

当我在 中写东西时,这两行会自动添加到 App.g.i.cs 中。 我还尝试在方法 App.OnStartup 中执行这些行,但得到相同的异常。

我试着写这个 :

案例 1:

 <Application.Resources>
                <ResourceDictionary Source="StringResources.xaml"/>
 </Application.Resources>

情况 2:

 <Application.Resources>
        <ResourceDictionary >
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="StringResources.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
  </Application.Resources>

情况 3:

 <Application.Resources>
        <Style targettype="Border" x:Key="FancyBorder">
            <Setter Property="Background" Value="#4E1A3D" />
            <Setter Property="BorderThickness" Value="5" />
            <Setter Property="BorderBrush">
                <Setter.Value>
                    <LinearGradientBrush>
                        <GradientStop Offset="0.0" Color="#4E1A3D"/>
                        <GradientStop Offset="1.0" Color="Salmon"/>
                    </LinearGradientBrush>
                </Setter.Value>
            </Setter>
        </Style>
</Application.Resources>

解决方法

问题出在我放置的 csproj 中

<UICulture>en-US</UICulture>

 <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net5.0-windows</TargetFramework>
    <UseWPF>true</UseWPF>
    <<UICulture>en-US</UICulture>
  </PropertyGroup>

当我删除标签UICulture后,一切都恢复了。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...