欧美人与性口牲恔配视1,国产精品久久久天天影视 ,真人裸交试看120秒,琪琪电影网午夜理论片

?

模板概念翻譯 樣式與模板[翻譯]

日期:2023-03-11 12:39:36 / 人氣: 995 / 發(fā)布者:成都翻譯公司

這篇概述主要集中在應用程序的樣式和模板,并沒有討論數(shù)據(jù)綁定的概念。另外,理解資源是很重要的,資源使得樣式和模板能夠重復使用。這個簡單的圖片例子使用了樣式和模板創(chuàng)造了一個引人入勝用戶體驗。WPF主題是通過樣式和模板機制進行定義的,WPF公開了任何元素的視覺效果。為了共享這些資源,包含了樣式和模板,交叉應用,你可以創(chuàng)建一個XAML文件,并且定義資源字典。

WPF 樣式和模板涉及一組功能(樣式、模板、觸發(fā)器和故事板)模板概念翻譯,允許開發(fā)人員和設(shè)計人員創(chuàng)建具有視覺吸引力的效果并為產(chǎn)品創(chuàng)建一致的界面。雖然開發(fā)人員和設(shè)計人員可以根據(jù)廣泛的應用程序自定義界面。為了允許應用程序表面的維護和共享,需要強大的樣式和模板模型。WPF 提供了這種模型。

WPF 風格模型的另一個特點是表現(xiàn)層和邏輯層的分離。這意味著設(shè)計人員只能使用XAML 來完成應用程序接口,同時開發(fā)人員可以使用C# 或VB 來完成程序的邏輯。

本概述側(cè)重于應用程序樣式和模板,不討論數(shù)據(jù)綁定的概念。

此外,了解資源也很重要。資源使樣式和模板能夠被重用。

本主題包含以下部分:

樣式和模板示例

風格基礎(chǔ)

數(shù)據(jù)模板

控制模板

觸發(fā)器

共享資源和主題

相關(guān)話題

樣式和模板示例

概述中使用的代碼示例基于一些簡單的照片,如下所示:

這個簡單的圖片示例使用樣式和模板來創(chuàng)建引人入勝的用戶體驗。此示例有兩個 Textblock 元素和一個綁定到一組圖片的 ListBox 控件。

風格基礎(chǔ)

您可以將 Style 視為應用一組屬性值的便捷??方式,而不僅僅是一個元素??紤]以下 TextBlock 元素及其默認界面。

我的照片

看看我的新照片!

您可以通過直接設(shè)置TextBox 的屬性來更改默認界面,例如FontSize 和FontFamily。但是,如果您希望 Textblock 元素共享某些屬性,則可以在 XAML 文件資源部分中創(chuàng)建樣式,如下所示:

當您將樣式的 TargetType 設(shè)置為 TextBlock 時,該樣式將應用于所有窗口 TextBlock 元素。

TextBlock元素的界面如下:

款式延伸

也許您希望兩個 TextBlock 元素共享相同的屬性值,例如 FontFamily 和 Horizo??ntalAlignment,但您還希望“我的圖片”具有一些附加屬性。您可以根據(jù)第一個樣式創(chuàng)建新樣式,如下所示:

目標類型=“文本塊”

X:鍵=“標題文本”>

請注意,上面的樣式給出了 x:Key。為了應用此樣式,您將樣式的屬性設(shè)置為 TextBlock 并需要 x:Key 值,如下所示:

我的照片

看看我的照片!

現(xiàn)在TextBlock樣式中間有Horizo??ntalAlignment,F(xiàn)ontFamily的值為Comic Sans MS,F(xiàn)ontSize的值為26。Foreground的值為LinearGradientBrush,如下例所示。請注意,它會覆蓋父類型的 FontSize。如果樣式中有多個 setter,則*后聲明的 setter 優(yōu)先。

TextBlock 元素如下所示:

TitleText 樣式擴展了用于 TextBlock 的樣式。您還可以使用 x:Key 值將樣式擴展為具有 x:Key。

TargetType 屬性和 x:Key 屬性的關(guān)系

如第一個示例所示,將 TargetType 屬性設(shè)置為 TextBlock 而不將 x:Key 分配給樣式將導致樣式應用于所有 TextBlock 元素。在這個例子中,x:Key 被隱式設(shè)置為 {x:Type TextBlock},這意味著如果你將 x:Key 設(shè)置為另一種類型而不是 {x:Type TextBlock},Style 將不會應用于所有 TextBlock 元素. 也就是說,您必須將樣式應用到 TextBlock。如果未為資源中的樣式設(shè)置目標類型,則必須提供 x:Key。

為了為 x:Key 提供默認值,TargetType 屬性指定了 set 屬性將應用于哪些類型。如果未指定 TargetType,則必須使用類名來設(shè)置 Setter 對象中的屬性,例如,Property = "ClassName.Property"。例如,不要設(shè)置 Property = "FontSize",而是將 Property 設(shè)置為 "TextBlock.FontSize" 或 "Control.FontSize"。

另請注意,許多 WPF 控件都是由 WPF 控件組成的。如果您想創(chuàng)建一個樣式以應用于所有類型的控件,您可能會得到意想不到的結(jié)果。例如,如果您創(chuàng)建的樣式以窗口的 Textblock 類型為目標,則該樣式將應用于所有 TextBlock 控件,即使 TextBlock 是另一個控件(如 ListBox)的一部分。

樣式和資源

您可以在繼承自 FrameworkElement 和 FrameworkContentElement 的任何元素上使用樣式。*常用的方法是在 XAML 文件的資源部分將樣式聲明為資源,如上例所示。因為樣式是資源,所以需要嚴格遵守所有應用于資源的范圍規(guī)則;樣式聲明影響使用樣式的位置。例如,如果您在應用程序根元素的 XAML 中聲明樣式,則該樣式可以應用于應用程序中的任何位置。如果您創(chuàng)建導航應用程序并聲明樣式是應用程序的 XAML 文件的一部分,則該樣式只能在 XAML 文件中使用。

以編程方式設(shè)置樣式

為了以編程方式為元素分配樣式名稱,從資源集中獲取樣式并將其分配給元素樣式屬性。請注意,資源集中的項目是對象類型。因此,您必須先檢索樣式樣式,然后再將其分配給樣式屬性。例如,將定義的 TitleText 樣式設(shè)置為名為 textblock1 的 TextBlock。請執(zhí)行以下操作:

Textblock1.Style = (Style)(this.Resources[“TitleText”]);

請注意,樣式一旦應用,就會被封裝,無法更改。如果要動態(tài)更改已應用的樣式。您必須創(chuàng)建一種新樣式來替換現(xiàn)有樣式。

您可以創(chuàng)建一個對象并根據(jù)自定義邏輯選擇要應用的樣式,例如樣式選擇器。

綁定、動態(tài)資源和事件處理程序

請注意,您可以使用 Setter.Value 屬性來指定綁定標記擴展和動態(tài)資源標記擴展。

到目前為止這

概述僅討論使用 setter 來設(shè)置屬性值。您還可以指定事件處理程序的樣式。

數(shù)據(jù)模板

在這種情況下,有一個 ListBox 控件綁定到一組照片。

背景=”銀色” 寬度=”600” 邊距=”10” SelectedIndex=”0”/>

當前的 ListBox 如下所示:

大多數(shù)控件都有一些內(nèi)容,這些內(nèi)容通常與數(shù)據(jù)綁定。在這個例子中,數(shù)據(jù)是一組照片。在 WPF 中,您使用 DataTemplate 來定義數(shù)據(jù)的可視化表示。基本上,您放入數(shù)據(jù)模板的內(nèi)容決定了應用程序中顯示的數(shù)據(jù)。

在我們的應用示例中,每個自定義圖片對象都有一個 Source 屬性來指定圖片的路徑。目前,圖片對象只出現(xiàn)在文件路徑中。

請注意,DataType 屬性與樣式的 TargetType 屬性非常相似。如果您的數(shù)據(jù)模板在資源部分中,當您將 DataType 屬性指定為類型而不為其分配 x:Key 時,只要該類型出現(xiàn),就會應用 DataTemplate。您也可以選擇使用 x:Key 來分配 DataTemplate,然后將其設(shè)置為數(shù)據(jù)模板的 StaticResource 屬性,例如 ItemTemplate 屬性和 ContentTemplate 屬性。

本質(zhì)上,上例中的數(shù)據(jù)模板定義了只要是Photo對象,就應該在Border中以圖片的形式呈現(xiàn)。使用這個 DataTemplate,我們的應用程序看起來像這樣:

數(shù)據(jù)模板還提供其他功能。例如,如果您呈現(xiàn)的數(shù)據(jù)集包含其他集,并且這些集使用 HeaderedItemsControl 類型,例如 Menu 或 TreeView,則存在一個 HierarchicalDataTemplate。另一個數(shù)據(jù)模板功能是 DataTemplateSelector,它允許您根據(jù)自定義邏輯選擇數(shù)據(jù)模板。

控制模板

在 WPF 中,控件的控件模板定義了控件的接口。您可以通過為控件定義新的 ControlTemplate 來更改結(jié)構(gòu)和界面。在許多情況下,這為您提供了足夠的靈活性,因此您可以編寫自己的自定義控件。

觸發(fā)器

當屬性值更改或引發(fā)事件時設(shè)置屬性和啟動操作(例如動畫)的觸發(fā)器。樣式、控件模板和數(shù)據(jù)模板都有 Triggers 屬性來設(shè)置觸發(fā)器。有各種類型的觸發(fā)器。

屬性觸發(fā)

觸發(fā)器是設(shè)置一個屬性值,或者根據(jù)某個屬性值啟動一個動作,稱為屬性觸發(fā)器。

為了聲明如何使用屬性觸發(fā)器,您可以使 ListBoxItem 部分透明,除非它被選中。下面的樣式將ListBoxItem的Opacity值設(shè)置為0.5. 當IsSelected屬性值為true時,Opacity設(shè)置為1.0.

此示例使用 Trigger 來設(shè)置屬性值,但請注意 Trigger 類還具有 EnterActions 和 ExitActions 屬性來觸發(fā)操作的執(zhí)行。

注意ListBoxItem的MaxHeight屬性設(shè)置為75.如下圖,第三項被選中。

事件觸發(fā)器和故事板

另一種類型的觸發(fā)器是 EventTrigger,它根據(jù)一個事件啟動一組操作。下面的EventTrigger對象指定當鼠標進入ListBoxItem時,在0.2s MaxHeight0.后變?yōu)?0.2s MaxHeight0.鼠標離開選項時,該屬性恢復原值1S內(nèi)。注意不需要指定MouseLeave的值,這是因為動畫可以跟蹤原始值。

持續(xù)時間=”0:0:0.2”

Storyboard.TargetProperty="MaxHeight"

到=”90” />

持續(xù)時間=”0:0:1”

Storyboard.TargetProperty="MaxHeight" />

如下圖,鼠標指向第三項:

多觸發(fā)器、數(shù)據(jù)觸發(fā)器、多數(shù)據(jù)觸發(fā)器

除了 Trigger 和 EventTrigger 之外,還有一些其他類型的觸發(fā)器。MultiTrigger 允許您根據(jù)多個條件設(shè)置屬性值。當您的屬性是數(shù)據(jù)綁定時,請使用 DataTrigger 和 MultiDataTrigger。

共享資源和主題

典型的 WPF 程序在整個應用程序中可能有多個用戶界面資源。通常,可以將這些資源集視為應用程序的主題。WPF 支持將 UI 資源打包成主題,并通過資源字典將它們封裝到 ResouceDictionary 類中。

WPF 主題通過樣式和模板機制定義,WPF 公開任何元素的視覺效果。

WPF 主題資源存儲在嵌入式資源字典中。這些資源字典必須嵌入到簽名的程序集中,或者它們可以嵌入到與代碼相同的程序集中,或并排的程序集中。對于 PresentationFramewoek.dll,包含 WPF 控件和主題資源的程序集是一系列并排的程序集。

在尋找元素的樣式時,主題成為*后的位置。通常,搜索會從元素樹開始,尋找合適的資源模板概念翻譯,然后查看應用資源集,*后查詢系統(tǒng)。這使應用程序開發(fā)人員有機會在達到主題之前為樹和應用程序級別的任何對象重新定義樣式。

您可以將資源字典定義為單獨的文件,使您能夠在多個應用程序中使用主題。您還可以通過定義多個資源字典來創(chuàng)建可熱插拔的主題,為相同的資源提供不同的值。在應用程序級別呈現(xiàn)這些樣式或資源是應用程序皮膚的推薦方法。

為了共享這些資源,包括樣式和模板,以及跨應用程序,您可以創(chuàng)建一個 XAML 文件并定義一個資源字典。例如,檢查下面的說明,其中顯示了使用 ControlTemplate Sample 進行樣式設(shè)置的一部分。

如果您看到示例中的 XAML 文件,您一定注意到該文件包含這句話:

<ResourceDictionary Source="Shared.xaml" />

這是shared.xaml,定義了一個資源字典,包含了一組樣式和畫筆資源,使控件具有一致的外觀。

參考:(VS.100).aspx

轉(zhuǎn)載于:

相關(guān)閱讀Relate

  • 法國簽證營業(yè)執(zhí)照翻譯件模板 你與申根簽證只有一條推送的距離
  • 江蘇省增值稅發(fā)票翻譯模板 江蘇稅務(wù)局出口貨物退(免)稅申報管理系統(tǒng)軟件
  • 肄業(yè)證書翻譯模板 復旦大學學生學業(yè)證明文書管理細則(試行)
  • 四級英語作文模板帶翻譯 大學英語四級翻譯模擬訓練及答案
  • 社會某信用代碼證翻譯模板 js驗證某社會信用代碼,某社會信用代碼 驗證js,js+驗證+社會信用代碼證
  • 美國移民證件翻譯模板 日語簽證翻譯聊聊身份證翻譯模板
  • 翻譯軟件模板 人類史上*實用的的文檔快速翻譯指南
  • 江蘇省增值稅發(fā)票翻譯模板 江蘇出口貨物退(免)稅申報管理服務(wù)平臺
  • 瑞士簽證房產(chǎn)證翻譯件模板 瑞士探親簽證—就讀子女
  • 日語戶口本翻譯模板 戶口本翻譯價格_戶口本翻譯一般多少錢?
  • 模板概念翻譯 樣式與模板[翻譯] www.ryuhikb.cn/fymb/10105.html
    ?
    本站部分內(nèi)容和圖片來源于網(wǎng)絡(luò)用戶和讀者投稿,不確定投稿用戶享有完全著作權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護條例》,如果侵犯了您的權(quán)利,請聯(lián)系:chinazxzy@163.com,及時刪除。
    Go To Top 回頂部
    • 掃一掃,微信在線