例如这里我在ResourceDictionary中创建了一个DataGrID Columnheader样式:
<Style x:Key="DataGrIDColumnheaderStyle" targettype="sdk:DataGrIDColumnheader" > <Setter Property="Background" Value="#88800080" /> <Setter Property="Foreground" Value="White" /> <Style.Triggers> <Trigger Property="SortDirection" Value="{x:Null}"> <Setter Property="Background" Value="{DynamicResource DataGrIDheaderBackgroundBrush}" /> <Setter Property="borderBrush" Value="transparent" /> </Trigger> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="IsMouSEOver" Value="True" /> <Condition Property="SortDirection" Value="{x:Null}" /> </MultiTrigger.Conditions> <Setter Property="Background" Value="{StaticResource DataGrIDheaderMouSEOverBackgroundBrush}" /> <Setter Property="borderBrush" Value="{StaticResource DataGrIDheaderborderBrush}" /> </MultiTrigger>...
从2009年初开始的一些谷歌搜索尝试声称使用转换器,但我完全坚持这一点.如果有人能给我一些如何做的提示,我真的很感激.
解决方法 Expression Blend为WPF类型触发器添加了一些支持Silverlight.这 blog post解释了这一点.但简而言之,您不会像使用WPF那样获得与这些触发器相同的值优先级.意思是,Style触发器可以覆盖在元素上显式设置.
Silverlight使用VisualStateManager概念来“主题化”或自定义控件的外观.它有效地迫使您定义“固定”状态,例如Hover(即IsMouSEOver = true)或pressed.然后,您可以在进入或退出这些状态时应用动画.因此,您可以说,在悬停时为背景画笔设置动画以呈现悬停的外观.
visualstatemanager方法使得围绕自定义控件外观提供工具变得更加容易.这在blog post中有更详细的说明.
简而言之,您将无法一对一地翻译它.你会发现有很多这样的事情.例如,UIElement上没有与WPF中一样的IsMouSEOver属性.
总结以上是内存溢出为你收集整理的如何在Silverlight 4.0中使用Style.Triggers?全部内容,希望文章能够帮你解决如何在Silverlight 4.0中使用Style.Triggers?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)