我只在设计器中遇到此错误;我的游戏运行得很好。
错误是“无法找到资源resources / resources.xaml”。它仅在引用用户控件的视图中发生,并且仅在设计器中发生-在用户控件本身设计时(而不是在运行时)不发生;即使出现此错误,我也可以编译我的游戏。
在这里我声明用户控件实例:
<local:StatsView Grid.ColumnSpan="2" x:Name="stats"/>
这是我的用户控件的相关部分:
<UserControl x:Class="Wormholes.Views.StatsView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:Wormholes.Views"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<ResourceDictionary Source="/Resources/Resources.xaml" />
</UserControl.Resources>
<Grid>
...
</Grid>
</UserControl>
除了用户控件之外,我还在每个页面中都引用了相同的Resources.xaml。这可能导致错误吗?如果是这样,我该如何解决?
答案 0 :(得分:0)
您已经使用了相对URI,因此它将在您使用UserControl的某个位置查找资源文件。它找不到您的资源文件,因为您的资源文件不在AbsolutePath中。
AbsolutePath = CurrentPath(例如您使用UserControl的位置)+ RelativePath
因此请使用AbsolutePath:
<ResourceDictionary Source="pack://application:,,,/{YourAssemblyName};component/Resources/Resources.xaml" />