畫刷和歌詞播放效果+變換和投射

畫刷(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翻轉的效果

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