经过N次的折腾后,终于解决了Silverlight4的按钮文字变色的问题.@H_419_7@ 利用MExpressionBlend创建button的副本,生成Style样式代码,修改如下:@H_419_7@
<UserControl.Resources><Style x:Key="LoginBtnStyle" targettype="button">...<border x:name="Background" borderBrush="{TemplateBinding borderBrush}" borderThickness="{TemplateBinding borderThickness}" Background="White" CornerRadius="3"> <GrID Background="{TemplateBinding Background}" margin="1"> <border x:name="BackgroundAnimation" Background="#FF448DCA" Opacity="0"/> <Rectangle x:name="BackgroundGradIEnt"> <Rectangle.Fill> <linearGradIEntBrush EndPoint=".7,1" StartPoint=".7,0"> <GradIEntStop color="#FFFFFFFF" Offset="0"/> <GradIEntStop color="#F9FFFFFF" Offset="0.375"/> <GradIEntStop color="#E5FFFFFF" Offset="0.625"/> <GradIEntStop color="#C6FFFFFF" Offset="1"/> </linearGradIEntBrush> </Rectangle.Fill> </Rectangle> </GrID></border><ContentPresenter x:name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" margin="{TemplateBinding padding}" />...</Style>
@H_419_7@ 把<ContentPresenter ... /> 标签改为<TextBlock ..../>
<TextBlock x:name="btnname" Text="{TemplateBinding Content}" ...>
@H_419_7@ 添加动画状态,例如MouSEOver
<VisualState x:name="MouSEOver"> <Storyboard> <colorAnimation Duration="0" To="#FF00FF00" Storyboard.TargetProperty="(TextBlock.Foreground).(SolIDcolorBrush.color)" Storyboard.Targetname="btnname" /> <DoubleAnimation Duration="0" To="20" Storyboard.TargetProperty="(TextBlock.FontSize)" Storyboard.Targetname="btnname" /> <DoubleAnimation ... /> </Storyboard></VisualState>
生成项目,运行后,当鼠标移上按钮时,文字颜色,字体大小也改变。 注:暂不清楚<ContentPresenter ... />换成<TextBlock ... />对此按钮会带来怎么样的限制,有待验证。
总结以上是内存溢出为你收集整理的Silverlight4按钮的文字变色全部内容,希望文章能够帮你解决Silverlight4按钮的文字变色所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)