问题描述
我正在 .net 5.0 上编写 Windows 应用程序。
当我尝试在 app.xaml 中的
System.Uri resourceLocater = new System.Uri("/Myapplication;component/app.xaml",System.UriKind.Relative);
System.Windows.Application.LoadComponent(this,resourceLocater);
当我在
我试着写这个
案例 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后,一切都恢复了。