【发布时间】:2018-07-25 04:59:03
【问题描述】:
我创建了一些 XAML 样式并将它们全部作为 MergedDictionaries 添加到 App.xaml.cs 中
<?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="Axon.Mobile.App">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="ResourceDictionaries/Colors.xaml"/>
<ResourceDictionary Source="ResourceDictionaries/GlobalStylesDictionary.xaml"/>
<ResourceDictionary Source="ResourceDictionaries/KeyStylesDictionary.xaml"/>
<ResourceDictionary Source="ResourceDictionaries/ReceptionStylesDictionary.xaml"/>
<ResourceDictionary Source="ResourceDictionaries/PutAwayStylesDictionary.xaml"/>
<ResourceDictionary Source="ResourceDictionaries/ViewModelLocatorDictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
当我使用任何字典中定义的样式作为 StatisResouce 时,此解决方案有效,即:
<Label TextColor="{StaticResource Test1}"/>
但是我想创建动态资源,在这种情况下我需要替换 C# 中的样式。问题是
Application.Current.Resources
包含这 6 个其他字典作为 MergedDictionary 属性。所有给定的字典都是空的。
为什么我不能在 C# 中获得定义的样式?
【问题讨论】:
标签: c# xamarin.forms