試試看:製作非矩形視窗
在 Microsoft Expression Blend 應用程式中,您可能會想在執行階段建立一個具有非矩形視覺外觀的視窗。這種視窗的常見範例包括桌面 Applet、Widget 及媒體播放程式。建立非矩形視窗的方法是變更應用程式之 Window 物件的一些屬性,然後建立可讓您不靠標題列就移動視窗的事件處理常式方法。
使非矩形視窗變成透明
在 [物件與時間軸] 面板中,選取 Window 物件,然後在 [屬性] 面板的 [外觀] 下,將 WindowStyle 屬性變更為 None ,來移除視窗殼層 (標題列)。按 F5 查看視窗在沒有預設殼層時的外觀。請注意,標準的 [最小化]、[最大化]、[還原] 和 [關閉] 按鈕再也不會顯示。也請注意您無法再拖曳視窗。按 ALT+F4 關閉視窗。
注意: 如需其他 WindowStyle 選項的詳細資訊,請參閱 MSDN 之 Windows Presentation Foundation 視窗概觀 主題中的 WindowStyle。
在 [屬性] 面板的 [外觀] 下,選取 [ AllowsTransparency ] 核取方塊。請注意,視窗框線現已不再顯示。
若要在視窗中增加透明區域,可以在 [屬性] 面板的 [筆刷] 下將 Window 物件的 Background 屬性設為 [沒有筆刷] 。或者,如果您想讓使用者能夠點選視窗的隱藏區域,則可以將 Background 屬性設為 [單色筆刷] ,然後將背景筆刷的 Alpha 屬性設為 1 。如此便可保留視窗的可點選區域,同時還能隱藏該區域。
最後,在 [物件與時間軸] 面板中,按一下 LayoutRoot 來啟用該物件,然後從 [工具] 面板新增物件至畫板。您也可以對物件設定 OpacityMask 筆刷,來建立不同的效果。
如需執行此動作的相關資訊,請參閱建立不透明度遮罩。
您也可以使用繪圖工具 (例如 [橢圓形] 和 [畫筆] ) 來新增圖形與繪製的路徑,然後將物件移至其他物件後面 (以滑鼠右鍵按一下物件,然後按一下 [順序])。 LayoutRoot 的內容會有效定義應用程式的外框。
再按一次 F5 查看視窗現在的外觀。請注意,您仍無法拖曳視窗。按 ALT+F4 關閉視窗。
新增能讓人在執行階段拖曳視窗的程式碼
在視窗變成透明後,實際上會因沒有標題列而無法移動視窗。若要使視窗能再移動,您必須在視窗中新增一個事件處理常式,然後在相關的程式碼後置檔案中新增一些程式碼。
按一下 [檔案] 功能表上的 [全部儲存],將專案儲存至硬碟。這是因為您無法在從未儲存過的專案中新增事件處理常式方法。
選取 [物件與時間軸] 面板中的 Window 物件,再按一下 [屬性] 面板中的 [事件] 。
在 MouseLeftButtonDown 旁輸入 OnMouseLeftButtonDown ,然後按 ENTER 鍵。
修改程式碼後置檔案中產生的事件處理常式方法,讓事件處理常式看起來像這樣:
private void OnMouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { this.DragMove(); }
Private Sub OnMouseLeftButtonDown(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseButtonEventArgs) Me.DragMove() End Sub
按 F5 執行應用程式。
您可以新增更多事件處理常式方法,例如按鈕的 Click 事件方法,該方法會呼叫您程式碼後置檔案中的
Close()
方法。如需有關如何建立事件處理常式方法的詳細資訊,請參閱撰寫回應事件的程式碼。
Copyright © 2011 by Microsoft Corporation. All rights reserved.