《Windows Fun 7》四:修改ListBox的模板,視覺狀態,及狀態過渡

明天要去交大講Expression Blend的課,做了一個教程,也整理到博客園分享一下:

op

 

本示例的目的是:

  1. 修改ListBox的模板
  2. 修改ListBoxItem的視覺狀態
  3. 添加ListBoxItem視覺狀態之間的過渡

 

步驟:

1. 添加一個Windows Phone頁面

2. 添加示例數據:

22

3.通過數據創建ListBox

23

4.設置,將ListBox調製劇中的位置

5. 編輯模板

Picture1

6.修改模板的樣式,可以複製以下代碼:

<DataTemplate x:Key="ItemTemplate">

<Grid Height="100" Margin="0,10,0,0" Width="400">

<Image Source="{Binding BackImage}" HorizontalAlignment="Left" Width="400"/>

<Rectangle Fill="#FF131523" HorizontalAlignment="Left" Height="40" Margin="0" Stroke="Black" Width="400" VerticalAlignment="Bottom" StrokeThickness="0" Opacity="0.79" d:LayoutOverrides="VerticalAlignment"/>

</Grid>

</DataTemplate>

Picture2

7.修改ListBoxItem的樣式,通過以下方式調出ListBoxItem模板進行編輯:

Picture3

8.修改ListBoxItem的容器爲Grid,這是爲了便於後面做動畫

Picture4

9.添加2個TextBlock,分別用於顯示兩個綁定字段,注意這裏沒有將這兩個元素定義在前面的ItemTemplate中,是因爲,在ListBox中,ItemTemplate只是作爲ListBoxItem的一個內容控件,所以如果需要處理狀態過渡,則在ListBoxItem的狀態中是找不到這些元素的,這些狀態是由ListBoxItem提供而不是ItemTemplate提供,所以,如果需要處理過渡則不能依賴於ItemTemplate,Blend提供一種方式直接調出ListBoxItem,作爲一個補充,也爲了更好的定製化ListBox

Picture5

10,但是,這樣就需要手動綁定TextBlock

Picture6

11.綁定

df

12.設置兩個文本元素,值看起來如下圖:

Picture7

13.修改視覺狀態,首先刪除ListBox選中默認的背景變換:

Picture8

14.變換name元素,使在選中的時候向右滑動:

Picture9

15.title元素相反向左滑動:

Picture10

16,修改狀態變換:

sds

19.大功告成

20.源代碼:http://files.cnblogs.com/hielvis/HelloBlend.rar

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