xamarin/Xamarin.Forms

[Bug] Label TextColor DynamicResource does not update after DataTrigger applies TextColor

开放

#6,864 创建于 2019年7月13日

 (3 条评论) (0 个反应) (1 位负责人)C# (1,926 个派生)batch import
a/stylee/3 :clock3:help wantedt/bug :bug:up-for-grabs

仓库指标

星标
 (5,644 个星标)
PR 合并指标
 (30 天内没有已合并 PR)

描述

Description

@PureWeen - We discussed this issue today at XamDevSummit and as you requested, I reduced it down to a more manageable code example.

I have a Label with TextColor set to a DynamicResource themeTextColor. I also have a DataTrigger added to the Label that will change the TextColor to Red. Switching between my Default and Dark theme works until I enter the condition specified by the DataTrigger. Afterwards, Switching between Default and Dark has no effect.

In my particular case, I am looking up the Color resource in the ResourceDictionary by key and changing the value. This is opposed to replacing the entire ResourceDictionary.

Steps to Reproduce

(see example project)

  1. Switch between Default and Dark a couple of times
  2. Observe DynamicResources DO update
  3. Switch "Triggered" on and off
  4. Attempt to Switch theme
  5. Observe Label TextColor doesn't change

Expected Behavior

Label updates TextColor to theme's themeTextColor

Actual Behavior

Label is stuck on themeTextColor when triggered

Repro Project Link

https://github.com/ChaseMarsh/My.Xamarin.Issues/tree/master/DynamicResouceTriggerIssue

贡献者指南