我在Styles.xaml文件中定义了样式,如下所示:
<Style
x:Key="LabelFiledVerticalStyle"
TargetType="Label">
<Setter Property="Margin" Value="0,7,0,0" />
</Style>
方式一
我想从我的代码隐藏文件访问它,所以我这样做了:
var LabelStyle = (Style)Application.Current.Resources["LabelFiledVerticalStyle"];
当我运行应用程序时,它给出了这个错误:字典中不存在资源“LabelFiledVerticalStyle”
方式二从代码中按键访问资源
我已经通过微软提供的官方文档,我已经找到了其他方法来做到这一点。所以,做了尝试,以及喜欢:
var hasValue = Resources.TryGetValue("LabelFiledVerticalStyle", out object style);
if (hasValue)
{
var LabelStyle = (Style)style;
}
在这里,我也得到了hasValue = false,尽管样式在Resource dictionary中。
有人知道我们如何从代码后面访问它吗?请让我知道。
1条答案
按热度按时间j0pj023g1#
第一条路
如果你想用第一种方式访问样式,我们通常在文件
App.xaml
中定义样式例如,我们可以在
App.xaml
中定义样式如下:然后在我们的页面中,我们可以通过代码访问样式:
使用示例:
有关详细信息,请查看文档Global Styles in Xamarin.Forms。
第二条路
如果创建一个
ResourceDictionary
(例如MyResourceDictionary.xaml
)并将样式添加到ResourceDictionary
,如下所示:MyResourceDictionary.xaml
然后,如果我们想访问样式,我们应该将
ResourceDictionary
以上添加到我们页面的ContentPage.Resources
。您可以在这里参考示例代码:
ApplicationStylesPage.xaml
ApplicationStylesPage.xaml.cs