SimpleButton

本頁僅適用 WPF 專案

此按鈕是回應 Click 事件的「內容控制項」 ** 。在 Microsoft Expression Blend 中,按兩下按鈕並將物件拖曳至按鈕中,即可置入按鈕內容。若要在按鈕中放置多個物件,則必須先新增版面配置面板 (例如 GridCanvas )。根據預設,按鈕也可以顯示文字;若要編輯文字,可以用滑鼠右鍵按一下按鈕,然後按一下 [編輯文字]。

SimpleButton 控制項的畫板檢視

Cc295207.de21bfee-f104-48ff-9f8a-b6cbf92a9fa7(zh-tw,Expression.40).png

深入控制項範本

SimpleButton 控制項範本由下列項目組成:

  • Grid 版面配置面板    用來在按鈕中容納多個子物件。 Grid 可讓您更輕鬆地將更多物件新增至範本。例如,如果根物件是 Border ,且您嘗試新增另一個物件,則另一個物件會取代 ContentPresenter 物件,因為 Border 只能有一個子項。

  • Border 物件    此物件有 BorderThickness 屬性,可以透過範本繫結至套用此範本之按鈕控制項的 BorderThickness 屬性。

  • ContentPresenter    用來顯示套用範本之按鈕的 Content 屬性。此物件必須存在,才能顯示按鈕的內容。

使用屬性觸發程序

控制項範本中的屬性觸發程序,可讓控制項回應屬性變更。您可以按一下 [觸發程序] 面板中的項目,檢視觸發程序啟用時變更的屬性。例如在 SimpleButton 範本中,當 IsMouseOver 屬性變成 True 時, Border 物件的背景色彩就會變更為 MouseOverBrush 資源。

使用筆刷

在 SimpleStyles.xaml 資源字典中, SimpleButton 範本會使用下列筆刷資源:

  • Background 屬性是使用下列項目來設定: NormalBrush (當沒有任何作用中的觸發程序時)、 MouseOverBrush (當 IsMouseOverTrue 時)、 PressedBrush (當 IsPressedTrue 時) 和 DisabledBackgroundBrush (當 IsEnabledFalse 時)。

  • Border 屬性是使用下列項目來設定: NormalBorderBrush (當沒有任何作用中的觸發程序時)、 DefaultBorderBrush (當 IsKeyboardFocusedTrue 時)、 PressedBorderBrush (當 IsPressedTrue 時) 和 DisabledBorderBrush (當 IsEnabledFalse 時)。

  • IsEnabledFalse 時, Foreground 屬性是使用 DisabledForegroundBrush 來設定。

最佳作法與設計方針

  • 一般而言,如果您希望設計師在控制項上新增更多視覺元素,請使用 Grid 控制項作為範本的根。Expression Blend 會搜尋類似 Grid 控制項的版面配置面板,並將其設為預設啟用,讓新增至畫板的新物件成為版面配置面板的子物件。

  • 根據使用者動作而定 (例如按一下按鈕),屬性觸發程序可用來變更控制項的外觀。屬性觸發程序比事件觸發程序更好用,因為同樣的工作需要兩個事件觸發程序 (例如, MouseDownMouseUp 事件),但屬性觸發程序只需要一個 (例如, IsPressed 狀態)。不過,對於較複雜的控制項,事件觸發程序可用來啟動動畫時間軸。

  • 一般而言,您會想在 IsMouseOverIsPressedIsEnabled ( False ) 狀態上設定筆刷或視覺變化。此外,您也可以使用 IsKeyboardFocused 狀態,這通常是用在控制項周圍顯示虛線。

另請參閱

工作

試試看:使用效果設定按鈕樣式
試試看:將動畫新增至按鈕
試試看:建立滑鼠指向效果按鈕

Copyright © 2011 by Microsoft Corporation. All rights reserved.