建立空白使用者控制項

如果想要設計可以新增至畫板的可重複使用元件 (就和系統控制項一樣),則可以在 Microsoft Expression Blend 中建立使用者控制項。使用者控制項可以包含其他控制項、資源和動畫時間軸,與應用程式相同。唯一的差異在於使用者控制項的根物件是 UserControl ,而不是 [Window] 或 [Page]。

下列程序顯示如何建立含有一些動畫的使用者控制項,以及如何在另一份文件中具現化該使用者控制項。

如需透過撰寫程式碼並根據現有系統控制項來建立自訂控制項的範例,請參閱試試看:建立含有自訂屬性的自訂控制項

您可以在 Expression Blend 隨附的範例中找到更多使用者控制項範例。在 [說明] 功能表上,按一下 [歡迎畫面],並選取 [範例] 索引標籤,然後按一下範例名稱。

如需有關使用者控制項的詳細資訊,包括 XAML 及程式碼範例,請參閱 MSDN 上 Windows Presentation Foundation Cc294992.xtlink_newWindow(zh-tw,Expression.40).png 一節的控制項撰寫概觀 Cc294992.xtlink_newWindow(zh-tw,Expression.40).png

定義使用者控制項

  1. 在 Expression Blend 中執行下列一項動作:

    • 若要在 .dll 檔案中建立使用者控制項,請按一下 [檔案] 功能表上的 [新增專案],選取 [WPF 控制項程式庫] 或 [Silverlight 控制項程式庫] 專案類型並提供專案名稱,接著選取主文件的程式碼後置檔案語言,然後按一下 [確定]。將使用者控制項提供給其他人時,希望隱藏該使用者控制項的實作,或是在其他程式中繪製使用者控制項時,想要建立範本以變更使用者控制項的外觀,請使用此選項。

    • 若要在現有專案的 .xaml 檔案中建立使用者控制項,請按一下 [檔案] 功能表上的 [新增項目] (CTRL+N),選取 [UserControl] 範本並提供檔案名稱,然後按一下 [確定]。這個選項會比較容易變更,因為您的使用者控制項與它的使用位置是同一個專案。因此,您可以略過將參照更新為 .dll 的步驟。

    Expression Blend 會開啟使用者控制項供您進行編輯。

  2. 決定您想用於根物件的面板類型。根據預設,會使用名稱為 LayoutRootGrid ,此項目可以在於另一份文件中繪製使用者控制項時調整任何動畫的大小。您可以將此項目變更為 Canvas 或其他面板控制項,方法是以滑鼠右鍵按一下 [物件與時間軸] 面板中的 LayoutRoot 物件,並指向 [變更版面配置類型],然後按一下面板名稱。

  3. 在 [工具] 面板中,選取使用者控制項中需要的控制項及繪圖工具,並在畫板上加以繪製。請使用 [屬性] 面板中的屬性來修改它們。使用者控制項可以包含 WPF 應用程式所包含的任何項目。

  4. 在 [物件與時間軸] 面板中,建立想要的任何動畫時間軸。

    如需範例,請參閱建立簡單動畫

    Note注意:

    設定主要畫面格時,請考慮應用程式中所有動畫的時間,以及使用者控制項中動畫的執行時間。例如,假設有個應用程式會先以動畫顯示開頭顯示畫面,再以動畫淡入顯示使用者介面。您可以將每個動畫各置於一個使用者控制項中,但是在第二個動畫的開頭保留足夠的時間,讓開頭顯示畫面動畫完成。

    tip note秘訣:

    如果要讓動畫可以重複執行多次,請在 0 秒標記上設定主要畫面格。例如,如果您建立的動畫時間軸可將物件從左到右移動,且是由按兩下滑鼠所觸發,但您卻未在 0 秒標記設定主要畫面格,後續按兩下滑鼠的動作不會執行多次動畫,因為它是遞移式動畫。如需有關遞移式動畫的詳細資訊,請參閱將物件製作成動畫中的<使用多個及重疊的動畫時間軸>一節。

  5. 在 [觸發程序] 面板中,設定任何讓應用程式回應使用者互動的屬性或事件觸發程序。

    如需範例,請參閱在 WPF 控制項中新增或移除觸發程序

    Note注意:

    決定想要在使用者控制項中設定的觸發程序時,請考慮想要用於使用者控制項的所有屬性及觸發程序。例如,假設有個應用程式含有一個按鈕,以及一個包含在使用者控制項中的動畫。在 Expression Blend 中,除非按鈕也是使用者控制項的一部分,否則您無法將按一下按鈕時會啟動動畫時間軸的觸發程序新增至使用者控制項。此外,只有在兩個屬性都是位在相同使用者控制項中,才能在這兩個屬性值之間進行資料繫結。您可以利用程式碼後置檔案以程式設計方式來解決此問題,而在將使用者控制項新增至文件之後,建立具有該使用者控制項之觸發程序及動畫時間軸的範本,也可以解決此問題。如需具有程式碼後置檔案之使用者控制項的範例,請參閱 MSDN 上 Windows Presentation Foundation Cc294992.xtlink_newWindow(zh-tw,Expression.40).png 一節的控制項撰寫概觀 Cc294992.xtlink_newWindow(zh-tw,Expression.40).png。如需有關如何從 Expression Blend 修改程式碼後置檔案的詳細資訊,請參閱修改程式碼後置檔案

  6. 當您建立好使用者控制項時,請一定要變更文件的根物件大小,使其符合您所需的大小。在 [物件與時間軸] 面板中,選取文件根目錄,然後使用 [選取] 工具 Cc294992.2ff91340-477e-4efa-a0f7-af20851e4daa(zh-tw,Expression.40).png,利用畫板上的藍色提示來調整文件視窗大小。

  7. 如果使用者控制項是取決於使用者控制項中空白區域的按一下滑鼠動作或互動,則需要將根物件背景設定為實心筆刷,這樣當使用者控制項在新增至另一份文件時,就會使用畫板上的空白處。在 [屬性] 面板的 [筆刷] 類別中,將根物件的 Background 屬性變更為 [單色筆刷] Cc294992.3a66ec96-47bb-47fc-8876-6b9456feec3a(zh-tw,Expression.40).png。如果想要隱藏背景,請將 Alpha 子屬性變更為 0。

  8. 如果使用者控制項取決於特定高度或寬度,請在 [屬性] 面板的 [版面配置] 類別中,設定 [進階] Cc294992.de239c9d-42ce-4f5e-83b9-5f9924c0431f(zh-tw,Expression.40).png 區段的 MinHeightMinWidth 屬性。

  9. 如果想要在文件中繪製使用者控制項時調整大小,請確定使用者控制項中所有物件的 WidthHeight 屬性都重設為 [Auto]。

  10. 按一下 [檔案] 功能表上的 [全部儲存],以儲存檔案及專案。

  11. 如果專案是控制項程式庫,請按一下 [專案] 功能表上的 [建置專案] (CTRL+SHIFT+B),以建置專案來建立 .dll 檔案。.dll 檔案會建置並儲存在與專案相同位置的 \bin\Debug 資料夾中。

另請參閱

工作

從現有的物件建立使用者控制項
在另一份文件中繪製使用者控制項

Copyright © 2011 by Microsoft Corporation. All rights reserved.