未找到独立 ResourceDictionary 资源
Stand alone ResourceDictionary resource not found
我按照 https://docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/resource-dictionaries#stand-alone-resource-dictionaries 但是我得到了错误。
XFC0124 Resource "ResourceDictionary1.xaml" not found.
我的密码是
ResourceDictionary1.xaml(代码隐藏删除)编译选项:嵌入资源
<?xml version="1.0" encoding="UTF-8" ?>
<ResourceDictionary xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
<x:String x:Key="test">
test string
</x:String>
</ResourceDictionary>
ContentPage1.xaml
<ContentPage.Resources>
<ResourceDictionary Source="ResourceDictionary1.xaml"/>
</ContentPage.Resources>
我按照 link 中提供的步骤进行测试,一切正常。
检查以下步骤
添加一个 ContentView
文件并将其重命名为 ResourceDictionary1 。
删除code-behind
删除 xaml 中的 x:Class="FormsApp.ResourceDictionary1"
并将标签从 ContentView
更改为 ResourceDictionary
.
<?xml version="1.0" encoding="UTF-8"?>
<ResourceDictionary xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" >
<x:String x:Key="test">
test string
</x:String>
</ResourceDictionary>
- 其他用法xaml
<ContentPage.Resources>
<ResourceDictionary Source="ResourceDictionary1.xaml"/>
</ContentPage.Resources>
<ContentPage.Content>
<StackLayout>
<Button Clicked="Button_Clicked" Text="{StaticResource test}"/>
</StackLayout>
</ContentPage.Content>
如果您已完成上述所有步骤但问题仍然存在,则文件路径一定有问题。
ResourceDictionary
文件应与使用 ResourceDictionary 的页面位于同一级别。
我们可以将它们放在表单项目的根目录下。
我们可以将它们放在同一个文件夹中。
如果不在同一级别,我们应该在页面中设置相对文件路径。
// in page4.xaml
<ContentPage.Resources>
<ResourceDictionary Source="MyFolder/ResourceDictionary1.xaml"/>
</ContentPage.Resources>
我按照 https://docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/resource-dictionaries#stand-alone-resource-dictionaries 但是我得到了错误。
XFC0124 Resource "ResourceDictionary1.xaml" not found.
我的密码是
ResourceDictionary1.xaml(代码隐藏删除)编译选项:嵌入资源
<?xml version="1.0" encoding="UTF-8" ?>
<ResourceDictionary xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
<x:String x:Key="test">
test string
</x:String>
</ResourceDictionary>
ContentPage1.xaml
<ContentPage.Resources>
<ResourceDictionary Source="ResourceDictionary1.xaml"/>
</ContentPage.Resources>
我按照 link 中提供的步骤进行测试,一切正常。
检查以下步骤
添加一个
ContentView
文件并将其重命名为 ResourceDictionary1 。删除code-behind
删除 xaml 中的
x:Class="FormsApp.ResourceDictionary1"
并将标签从ContentView
更改为ResourceDictionary
.
<?xml version="1.0" encoding="UTF-8"?>
<ResourceDictionary xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" >
<x:String x:Key="test">
test string
</x:String>
</ResourceDictionary>
- 其他用法xaml
<ContentPage.Resources>
<ResourceDictionary Source="ResourceDictionary1.xaml"/>
</ContentPage.Resources>
<ContentPage.Content>
<StackLayout>
<Button Clicked="Button_Clicked" Text="{StaticResource test}"/>
</StackLayout>
</ContentPage.Content>
如果您已完成上述所有步骤但问题仍然存在,则文件路径一定有问题。
ResourceDictionary
文件应与使用 ResourceDictionary 的页面位于同一级别。
我们可以将它们放在表单项目的根目录下。
我们可以将它们放在同一个文件夹中。
如果不在同一级别,我们应该在页面中设置相对文件路径。
// in page4.xaml
<ContentPage.Resources>
<ResourceDictionary Source="MyFolder/ResourceDictionary1.xaml"/>
</ContentPage.Resources>