- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道如何将 Storyboard.TargetProperty 设置为 LinearGradientBrush 而不是纯色。我是 VisualStates 的新手,所以如果我没有为我的问题提供足够的信息,请告诉我。大多数情况下,我只想设置渐变而不是纯色,但不知道如何设置。谢谢你的帮助。我正在使用我在 http://msdn.microsoft.com/en-us/library/ms753328.aspx 找到的示例进行工作。 .
<VisualState x:Name="Disabled">
<Storyboard>
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).
(GradientBrush.GradientStops)[1].(GradientStop.Color)"
Storyboard.TargetName="Border">
<EasingColorKeyFrame KeyTime="0"
Value="{StaticResource DisabledControlDarkColor}" />
</ColorAnimationUsingKeyFrames>
<ColorAnimationUsingKeyFrames
Storyboard.TargetProperty="(TextBlock.Foreground).(SolidColorBrush.Color)"
Storyboard.TargetName="Border">
<EasingColorKeyFrame KeyTime="0"
Value="{StaticResource DisabledForegroundColor}" />
</ColorAnimationUsingKeyFrames>
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).
(GradientBrush.GradientStops)[1].(GradientStop.Color)"
Storyboard.TargetName="Border">
<EasingColorKeyFrame KeyTime="0"
Value="{StaticResource DisabledBorderDarkColor}" />
</ColorAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
最佳答案
您粘贴的代码会为现有渐变中的某些停止点设置动画,该渐变被应用为背景属性。如果你只想用一个新画笔(恰好是一个线性渐变画笔)替换整个背景,你可以使用 ObjectAnimationUsingKeyFrames
.
文档甚至给出了这个例子:
<Storyboard>
<!-- ObjectAnimationUsingKeyFrames is used to animate properties that take
an object as a value. This animation lasts for 4 seconds using 3 KeyFrames which
swap different brush objects at regular intervals, making the background of the Page
change. -->
<ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty="Background"
Duration="0:0:4" RepeatBehavior="Forever">
<ObjectAnimationUsingKeyFrames.KeyFrames>
<!-- Note: Only discrete interpolation (DiscreteObjectKeyFrame) is available for
use with ObjectAnimationUsingKeyFrames which merely swaps objects according to
a specified timeline. Other types of interpolation are too problematic to apply
to objects. -->
<!-- Using a DiscreteObjectKeyFrame, the Page Background suddenly changes
to a LinearGradientBrush after the first second of the animation. -->
<DiscreteObjectKeyFrame KeyTime="0:0:1">
<DiscreteObjectKeyFrame.Value>
<LinearGradientBrush>
<LinearGradientBrush.GradientStops>
<GradientStop Color="Yellow" Offset="0.0" />
<GradientStop Color="Orange" Offset="0.5" />
<GradientStop Color="Red" Offset="1.0" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
<!-- ... -->
关于wpf - 将 LinearGradientBrush 而不是纯色设置为 VisualState 中的 storyboard.targetProperty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6024812/
我正在尝试在另一个 LinearGradientBrush 的定义中使用一个 LinearGradientBrush。但我不知道这是否可行,如果可行,我需要知道如何实现。 例如:
我使用此函数通过 LinearGradientBrush 生成一个简单的渐变位图,最后将其另存为文件以用作墙纸。但问题是结果看起来并不“平滑”,它看起来相当“不稳定”,因为您可以看到颜色的线条。 我使
我有一个 LinearGradientBrush 定义如下。我想在我的 xaml 中的某个地方使用它,但我想在这种特殊情况下更改不透明度(仅在这种情况下,而不是在我使用它的所有地方)。有什么想法可以实
我正在使用 Microsoft Vision API 并边学习 C#,Vision 对象的属性之一是图像的“强调色”。 从分析的一系列图像中,我想显示以线性渐变排序的那些颜色——因为这将能够向用户显示
我想用 LinearGradientBrush 填充矩形。对于一些矩形,我会得到一些奇怪的行为。示例: Rectangle rect = new Rectangle( 20, 20, 20, 34 )
考虑来自标准 System.Windows.Forms.Form 的以下代码 protected override void OnPaint(PaintEventArgs e) { base.
.net 中的 LinearGradientBrush(或者甚至整个 GDI+ 中的?)似乎有一个严重的错误:有时,它会引入伪像。 (请参阅 here 或 here - 本质上,线性渐变的第一行是在端
我正在尝试使用 LinearGradientBrush 绘制 WPF 窗口的背景,但是我的代码不起作用。 这是代码 LinearGradientBrush gradientBrush = new L
如何在 xamarin forms 中实现与下面代码相同的渐变效果? 在 WPF 中的效果相同: 我的 Bo
我的 C# UWP 应用程序有问题。 这段代码片段应该在页面底部显示一个透明的覆盖层,但它创建了一个黑色的覆盖层,就像它在现有背
我有一个包含在 Canvas 中的多段线的图表。我想设置多段线的描边,从底部的一种颜色开始,到顶部的另一种颜色结束。我试过这个 xaml:
我有以下代码在我的 winform 上创建一个混合背景: public partial class Aging : Form { protected override void OnPaint
我从这个主题中发现了一个类似的问题GDI+ .NET: LinearGradientBrush wider than 202 pixels causes color wrap-around但解决方案对
我正在创建一个利用 Windows 8、C# 和 XAML 中的必应 map 的应用程序。我目前已经创建了一个 MapPolygon,我希望填充颜色是 LinearGradientBrush 或任何一
我试图实现用渐变背景色绘制表单并用透明度重叠图像。 这个有可能? 我想使用具有透明背景的平铺背景图像并使用自定义线性渐变绘制背景。 最佳答案 我做到了!,我想与您分享我的解决方案(这很容易): 外部帮
给定一个 LinearGradientBrush定义如下:
是否可以通过动画将 Ellipse.Fill 从 LinearGradientBrush 更改为 SolidColorBrush 或更改 LinearGradientBrush 中的 gradient
我必须写几个小的垂直渐变(在循环中),所以我认为重新使用现有的 LinearGradientBrush 会更快(对吗?) 但这不是我所期望的... Drawing2D.LinearGradient
今天我遇到了一个难题。我创建了一个使用 GDI+ 在表单上绘制的应用程序。绘图每秒由计时器触发。 draw 方法使用 for 循环遍历对象集合,如果它们处于特定状态,则绘制它们。 我想使用 Linea
关于我几周前问的这个问题 LinearGradientBrush does not render correctly 考虑以下代码: protected override void OnPaint(P
我是一名优秀的程序员,十分优秀!