微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Silverlight中绑定GradientStop Colors或GradientStops属性?

我希望能够在Silverlight中拥有动态渐变,如下所示:

<RadialGradientBrush GradientOrigin="0.20,0.5" Center="0.25,0.50" 
                     RadiusX="0.75" RadiusY="0.5">
  <GradientStop Color="{Binding Path=GradientStart}" Offset="0" />
  <GradientStop Color="{Binding Path=GradientEnd}" Offset="1" />
</RadialGradientBrush>

我绑定到两个返回“颜色”类型的属性但是我总是收到此消息:

AG_E_PARSER_BAD_PROPERTY_VALUE

如果我尝试绑定到GradientStop Collection,这也有同样的问题,这个问题的解决方案是什么:

>允许在运行时更改渐变的开始和结束
>适用于Silverlight 3.0,不是WPF解决方

如果有工作或者无论如何都要复制这种行为,这是可以接受的,我有解决方案可以使用LinearGradients,因为我可以将某些东西“填充”属性绑定到这个 – 但是在这种情况下不起作用,加上可能是我可能使用的其他渐变类型,其他人可能会在将来使用此解决方案/替代方案.

解决方法

问题是GradientStop不是从FrameworkElement派生的,因此不能绑定数据.不幸的是,这意味着你必须从代码中设置它.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐