零元學Expression Blend 4 - Chapter 12 用實例了解佈局容器系列-「Viewbox」


本系列將教大家以實做案例認識Blend 4 的佈局容器,此章介紹的佈局容器是Blend 4 裡的-「Viewbox」;
以及加碼贈送安裝擴充元件-「Silverlight Toolkit」。

 

本系列將教大家以實做案例認識Blend 4 的佈局容器,此章介紹的佈局容器是Blend 4 裡的-「Viewbox」;

以及加碼贈送安裝擴充元件-「Silverlight Toolkit」。

 

就是要讓不會的新手都看的懂!

 

 <擴充元件>

若是你的Expression Blend 4裡面沒有Viewbox,那麼請到這裡下載擴充元件

12-1

 

 下載後解壓縮執行安裝完成就可以使用了!

12-2

 

01

我們一步一步來做,看看 Viewbox到底的功用是什麼?

開啟一個新專案後,在主要工作區放入一個Viewbox,並調整到適當的位子

12-3

 

接著,在Viewbox裡面放入你想放的照片或圖片;直接拖拉進Viewbox就可以了

再來用在Grid章節學到的,讓我們的整個版面可以隨著視窗放大縮小

(忘記了嗎?快點去複習一下!)

12-5

 

完成後,按F5來看效果

12-6

 

我們的圖片是不是保持等比例的縮放呢?

 

 02

Viewbox可以直接對應Transform的設定

對於Transform的設定,我在先前的章節-2.5D轉換的使用技巧-裡已經有介紹過了

12-7

 

最後附上此範例的Xaml,其實非常簡單

		   1: <UserControl
		   2:     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
		   3:     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
		   4:     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"
		   5:     x:Class="viewbox.MainPage">
		   6:  
		   7:     <Grid x:Name="LayoutRoot" Background="White">
		   8:         <Viewbox Margin="0" HorizontalAlignment="Center" VerticalAlignment="Bottom">
		   9:             <Viewbox.Projection>
		  10:                 <PlaneProjection RotationX="-63.989" RotationY="14.123" RotationZ="-17.461"/>
		  11:             </Viewbox.Projection>
		  12:             <Image Source="阿兵搞背香蕉(colorful).jpg"/>
		  13:         </Viewbox>
		  14:     </Grid>
		  15: </UserControl>

 

03

到這邊,我們來重點整理:

(1)其實,Viewbox不只可以放入圖檔,也可以放影片

     所以如果想要做到全螢幕顯示時,Viewbox是很好的Layout Controls

(2)ViewboxBorder一樣,一次至只能容納一個子物件

    若是你想在Viewbox內加入第二個以上的子物件,那你必須先放入一個容器

    例如GridStackPanelCanvas,而Broder若是用在這邊,效用就不大了,請看Broder的介紹。

 

    我直接引用了msdn的xaml,有很清楚的示範;用的是StackPanel,裡面放入了兩個Image

		   1: <Grid x:Name="LayoutRoot" Background="White">
		   2:     <Viewbox Height="500" Width="600">
		   3:         <StackPanel Orientation="Horizontal">
		   4:             <Image Source="flower.jpg" />
		   5:             <Image Source="licorice.jpg" />
		   6:         </StackPanel>
		   7:     </Viewbox>
		   8: </Grid>

 

(3)Viewbox可以決定其子物件如何伸縮、對齊

(4)ViewBox可以使置入的子物件能隨著視窗的縮放,但保持等比例

 

04

這裡有一個外國人運用Viewbox所做出來的9格拼圖小遊戲

12-8

 

不過比較不一樣的是,他是反過來用的

平常是拿Viewbox當容器,但是這邊是把Viewbox當成筆刷的顯示容器

這裡的運用是讓你把視窗拉大時,拼圖的圖片也可以變大來玩

 

 

老話一句,想要有好的版面設計、想要設計出心裡想要的佈局,一定要會善用容器喔!

還有很多Layout Controls,讓我們慢慢的來學習吧! :)

 

 

本篇的教學就到此。

 

 

(若有任何錯誤的地方,請各位前輩或同好能不吝指教,小女子都會虛心接受;若是你喜歡我的教學,請給我點鼓勵,謝謝。)

一步一步邁向HIE之路

 

喜歡我文章請推我一下或給我個回應,你的鼓勵會給我無限的動力喔!

若是您有其他問題或是特別需要,請在文章回應處留言,我會盡快回覆您