我有一個包含顏色/畫筆的數字或動態資源的窗口。作爲動態資源的SolidColorBrushes沒有更新
例如,例1 不更新「DynamicResource ColFancyMed」
<Rectangle x:Name="dbBarPeekOutRect1" Margin="3,10,10,10" >
<Rectangle.Fill>
<SolidColorBrush Color="{DynamicResource ColFancyMed}" />
</Rectangle.Fill>
</Rectangle>
當我的應用程序啓動資源文件讀取和正確的顏色顯示。
這些顏色是主題,所以我有一些資源字典與他們的資源鍵。因此,我改變這樣的資源字典
Application.Current.Resources.MergedDictionaries.RemoveAt(0)
Application.Current.Resources.MergedDictionaries.Insert(0, dict)
這適用於其他地方,但不是上述。有趣的是,如果我使用以下內容。唯一的區別是我可以看到一個是Color,另一個是SolidColorBrush。
實施例2 DOES UPDATE 「DynamicResource ColFancyMed」
<Rectangle x:Name="dbBarPeekOutRect1" Margin="3,10,10,10" Fill="{DynamicResource ColFancyMed}"/>
然後顏色變化。
那麼爲什麼示例1不工作和示例2工作?
類似的另一個地方,它不工作是在例如;
<Storyboard x:Key="dbBarPeekOutHighlight">
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)" Storyboard.TargetName="dbBarPeekOutRect1">
<EasingColorKeyFrame KeyTime="0" Value="{DynamicResource ColFancyMed}"/>
<EasingColorKeyFrame KeyTime="0:0:0.2" Value="#FFF2F6F9"/>
</ColorAnimationUsingKeyFrames>
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)" Storyboard.TargetName="dbBarPeekOutRect2">
<EasingColorKeyFrame KeyTime="0" Value="{DynamicResource ColFancyMed}"/>
<EasingColorKeyFrame KeyTime="0:0:0.2" Value="#FFF2F6F9"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
任何幫助,將不勝感激。
具體你需要什麼?有些人不明白這個問題。 –
如果我交換資源文件,那麼一些動態資源不會更新。有些人會。爲什麼上述不更新? – darbid