我是Xamarin的新人。我想了解<Style>
代码。我有问题当我开始在App.xaml
文件上添加标记时,会出现警告消息。我不知道我犯了什么错误。希望你们能帮我解决这个问题。提前谢谢。
错误消息
的App.xaml
<?xml version="1.0" encoding="utf-8" ?>
<Application xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="TravelRecordApp.App">
<Application.Resources>
<!-- Application resource dictionary -->
<ResourceDictionary>
<Color x:Key="blueColor">#1E90FF</Color>
<Color x:Key="whiteColor">#FFFFFF</Color>
<Style>
<Setter Property="BackgroundColor" Value="{StaticResource blueColor}" />
<Setter Property="TextColor" Value="{StaticResource whiteColor}"/>
</Style>
</ResourceDictionary>
</Application.Resources>
</Application>
答案 0 :(得分:2)
Style
代码必须始终指定TargetType
。因此,例如,如果您的样式定位标签,则必须将代码更改为:
<Style TargetType="Label">
<Setter Property="BackgroundColor" Value="{StaticResource blueColor}" />
<Setter Property="TextColor" Value="{StaticResource whiteColor}"/>
</Style>
顺便说一句,Xamarin.Forms预览器是一个痛苦的**。您修复后的错误消息可能会在您修复后消失。我不得不做一个完整的清洁&amp;重建,然后打开另一个页面的预览器,关闭它并再次打开它我想要的页面显示任何内容。
最好不要使用它。
答案 1 :(得分:1)
另一个问题可能是您在App()构造函数的App.xaml.cs中有一些代码也可能导致此问题。例如,我修复了一些我继承的试图连接数据库的代码中的问题,所以我像这样修复了它:
public App()
{
InitializeComponent();
if (DesignMode.IsDesignModeEnabled)
{
return;
}
// connect to database code here
您可以使用DesignMode.IsDesignModeEnabled来确定您是在设计器中运行还是在其他位置运行。您可能还希望在xaml.cs文件中检查构造函数,并查看它们是否正在尝试运行任何会导致设计器引发该异常的代码。
答案 2 :(得分:0)
如果仍然有人对此有疑问,为我解决的问题是去我的NuGet软件包管理器,并将Xamarin Forms更新到最新版本。
立即为我解决了这个问题。
祝你好运!