画刷和歌词播放效果+变换和投射

画刷(Brush)

SolidColorBrush实心颜色画刷,LinearGradientBrush渐变画刷,ImageBrush图片画刷

Brush类型的属性都可以指定各种Brush,比如Btton的Foreground属性,Rectangel的Fill属性

LinearGradientBrush瞬间变颜色的做法:

<GradientStop Color="Yellow"></GradientStop>
<GradientStop x:Name="o1" Color="Yellow" Offset="0.3"></GradientStop>
<GradientStop x:Name="o2" Color="Blue" Offset="0.3"></GradientStop>
<GradientStop Color="Blue"></GradientStop>

附:如果元素有Name元素,Name和x:Name属性都行;如果没有,则要用x:Name

DispatcherTimer定时器

歌词播放效果后台代码:

override void OnNavigatedTo(){
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromMilliseconds(200);
timer.Tick +=  timer_Tick;
timer.Start();
}
void timer_Tick()
{
o1.Offset += 0.01;
o2.Offset += 0.01;
}
变换Transform

变换可以让UI元素产生扭曲、旋转等。不用改变逻辑的几何形状、位置。就像通过放大镜看物体一样。

Transform类型的属性都可以应用变换。(Button中的RenderTransform属性是Transform类型)

RotateTransform旋转变换,ScaleTransform缩放变换,TranslateTransform平移变换

RotateTransform中的Angle属性指定旋转角度,CenterX和CenterY指定旋转中心的座标值

ScaleTranform中的ScaleX和ScaleY指定横纵的缩放倍数(负数,倒过来)

TranslateTransform中的X和Y指定横向纵向的偏移量

如果动态控制元素位置、大小一般使用ScaleTranform、TranslateTransform,不推荐修改元素的Height、Width和座标

3D投射Projection

<Image.Projection>
<PlaneProjection RotationX="30">
</PlaneProjection>
</Image.Projection>

通过定时器修改RotationX,可以达到3D翻转的效果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章