我一直在观看一些在线xamarin表格教程。所有这些都建议将资源字典用于样式等全局规则。但是我注意到很多错误的风险。请考虑以下示例:
在字典中我提到
<Style TargetType="Label" x:Key="lblStyle">
<Property="FontAttributes" Value="Bold" />
<Setter Property="FontSize" Value="30" />
</Style>
然后我可以用它作为
<Label Text="My Text" Style="{StaticResource lblStyle}" />
然而,当分配到字典时,我只能获得智能感知一些关键词,并且当在标签上实现时,我不会获得密钥lblStyle
的智能感知。此外,我不知道我是否输入了任何错误,因为它大部分都没有在编译时捕获。我确实理解为什么没有intellisense,但我发现以下更容易编码并且它做同样的
首先我创建一个类
public class MyLabel : Label
{
public MyLabel()
{
FontAttributes = FontAttributes.Bold;
FontSize = 30;
}
}
然后我可以在xml中声明并使用以下内容:
<Components:MyLabel Text="My Text" />
在编码方面,第二种方式似乎在各方面都更好。我不明白的是,为什么所有的教程都建议我们使用资源字典?是否有一些值得所有弱打字的严重性能优势?