程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 《Programming WPF》翻譯 第3章 1.什麼是控件

《Programming WPF》翻譯 第3章 1.什麼是控件

編輯:關於.NET

對於一個應用程序而言,控件是搭建用戶界面的積木。它們具備交互式的特 征,例如文本框、按鈕以及列表框。盡管如此,WPF還有點不尋常,在於其並不 直接地依賴其外觀。在自定義一個控件外觀時,很多GUI框架要求設計人員編寫 一個自定義控件。在WPF中,這是不必要的:嵌入式內容和模板提供了簡單而強 有力的解決方案。僅當你所需要的控件,其行為在已有嵌套式控件中不存在時, 才需要重新去開發。

很多WPF用戶界面元素並不是控件。例如一些形狀:Rectangle、Ellipse,它 們不具有內在的行為,僅僅是一個外觀。

圖3-1示了如何將一個控件適合於一個程序。正如你所看到的,控件的可見部 分,是由其模板提供的,而不是控件本身。這個控件並不完全分離於其外觀,當 然,控件使用這些外觀向用戶提供信息。此外,由於這些外觀是用戶所能看到的 全部,所以它們將是任何用戶輸入的即時目標。這意味著雖然這些外觀可以被替 換,這些替換具備特定的職責。在控件與其外觀之間存在一種契約方式。模板, 用來替換控件的外觀,其使用將在第5章討論。

圖3-1

你可能熟悉MVC(Model View Controller)概念。這是設計交互式系統的一 種方式。以往,MVC已經有若干種闡釋方式。但是廣泛地說,它經常將設計拆分 為:表示底層數據的對象(Model),展示數據的對象(View),管理用戶輸入 以及管理與View交互的對象(Controller)。

盡管控件通過外觀使其自身對用戶可見,通過API(見圖3-1左)使其服務對 開發者有效。控件提供了命令這個概念,來提供其支持的操作。例如,一個文本 框提供了剪切、復制和粘貼命令。控件提供了屬性這個概念,從而提供了一種修 改行為或外觀的方式。當有重要情況發生時,例如接收到外界的輸入,控件會激 活Event。最後,一些功能通過Method對外暴露。要優先選擇命令、屬性和事件 ,因為它們易於在標記語言中使用而且被一些設計工具支持。盡管如此,仍然存 在一些情況,這些控件要在後台代碼中使用,方法這時候就是最合適的API表現 形式。

當然,開發人員和設計人員並不是僅有的使用控件的人。控件同時要響應用 戶,所以,讓我們看一看,在WPF中,輸入是如何被處理的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved