У меня есть куча Colors
внутри пары ResourceDicitonaries
, как это:
<ResourceDictionary xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:s="clr-namespace:System;assembly=netstandard">
<Color x:Key="Color.Background">#301536</Color>
</ResourceDictionary>
И я просто добавляю оба к App.xaml
примерно так:
<!--Colors-->
<ResourceDictionary Source="Resources/Colors/Light.xaml"/>
<ResourceDictionary Source="Resources/Colors/Dark.xaml"/>
Файл ResourceDicitonary
- это просто файл .xaml
без каких-либо связанных .cs
, и оба из этих словарей установлены на App.xaml
без необходимости определять их внутри группы MergedDicionaries
.
При попытке доступа к Color
из кода я не могу его найти, похоже, он не был добавлен в список ресурсов.
var color = Application.Current.Resources.FirstOrDefault(f => f.Key == "Color.Background")
.Value as Color? ?? Color.Crimson;
Есть ли способ получить доступ к ресурсу, подобному FindResource/TryFindResource
, доступному в WPF?
Я также пытался открыть / просмотреть содержимое MergedDictionaries
, но по какой-то причине объединенные словари всегда пусты.