基于跨多个文件的其他样式的样式

问题描述

如何使用带有多个文件的Style Inheritance?我已经可以使用Stand-alone resource dictionaries,但是如果子样式为 "hits" : [ { "_index" : "file-names",..."_score" : null,"_source" : { "filename" : "A Tribe Called Quest - Can I Kick It (1).mp3" },"sort" : [ "A Tribe Called Quest - Can I Kick It (1).mp3" ] },{ ... "_source" : { "filename" : "Bcc 05.png" },"sort" : [ "Bcc 05.png" ] },{ ... "_source" : { "filename" : "Birling Gap Cliffs.jpg" },"sort" : [ "Birling Gap Cliffs.jpg" ] },{ ... "_source" : { "filename" : "Durdle Door.jpg" },"sort" : [ "Durdle Door.jpg" ] },{ ... "_source" : { "filename" : "Frost.jpg" },"sort" : [ "Frost.jpg" ] },{ ... "_source" : { "filename" : "Users order.mp4" },"sort" : [ "Users order.mp4" ] },{ ... "_source" : { "filename" : "a.png" },"sort" : [ "a.png" ] },{ ... "_source" : { "filename" : "f.png" },"sort" : [ "f.png" ] },{ ... "_source" : { "filename" : "p.png" },"sort" : [ "p.png" ] },{ ... "_source" : { "filename" : "z.png" },"sort" : [ "z.png" ] } ] ,则另一个文件中的样式无效。

在下面的示例中,BasedUpon将具有指定的ListView,但没有SeparatorColor样式的BackgroundColor

BaseStyles.xaml

BasedUpon

SomeChildStyles.xaml

<?xml version="1.0" encoding="UTF-8"?>
<ResourceDictionary xmlns="http://xamarin.com/schemas/2014/forms"
                    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
    <Color x:Key="LightPrimaryColor">LightPink</Color>
    <Color x:Key="DarkPrimaryColor">DarkGreen</Color>
    <Style x:Key="BaseColorStylePrimary" TargetType="View">
        <Setter Property="BackgroundColor"
                Value="{AppThemeBinding Light={StaticResource LightPrimaryColor},Dark={StaticResource DarkPrimaryColor}}" />
    </Style>
</ResourceDictionary>

App.xaml

<?xml version="1.0" encoding="UTF-8"?>
<ResourceDictionary xmlns="http://xamarin.com/schemas/2014/forms"
                    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
    <Style x:Key="ListViewStyleBasedOn"
           TargetType="ListView"
           BasedOn="{StaticResource BaseColorStylePrimary}">
        <Setter Property="SeparatorColor"
                Value="{AppThemeBinding Light=Orange,Dark=Red}" />
    </Style>
</ResourceDictionary>

似乎他们made some changes a few years ago实现了我要做的事情,但是当they introduced AppThemeBinding并没有扩展来处理此问题时?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)