偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

WPF元素類型樣式概念詳解

開發(fā) 開發(fā)工具
WPF元素類型樣式是一個(gè)基礎(chǔ)知識(shí)點(diǎn)。初學(xué)者在學(xué)習(xí)的過程中需要著重注意這一方面,通過各種實(shí)踐經(jīng)驗(yàn)來幫助我們提高對(duì)它的理解程度。

WPF開發(fā)工具的使用幫會(huì)組開發(fā)人員實(shí)現(xiàn)了輕松簡(jiǎn)單的圖形界面處理。對(duì)于WPF元素類型樣式這樣的基礎(chǔ)理解是在學(xué)習(xí)的過程中非常重要的知識(shí)點(diǎn)。#t#

命名樣式非常有用,當(dāng)你得到一組屬性并應(yīng)用到特點(diǎn)的元素上。然而,如果你想要應(yīng)用一個(gè)統(tǒng)一的樣式到所有確定元素類型的實(shí)例,設(shè)置TargetType而不用一個(gè)Key。

  1. < !-- no Key --> 
  2. < Style TargetType=
    "{x:Type Button}"> 
  3. < Setter Property=
    "FontSize" Value="32" /> 
  4. < Setter Property=
    "FontWeight" Value="Bold" /> 
  5. < /Style> 
  6. < !-- no Key --> 
  7. < Style TargetType=
    "{x:Type TextBlock}"> 
  8. < Setter Property=
    "FontSize" Value="32" /> 
  9. < Setter Property=
    "FontWeight" Value="Thin" /> 
  10. < Setter Property=
    "Foreground" Value="White" /> 
  11. < Setter Property=
    "HorizontalAlignment" 
    Value="Center" /> 
  12. < /Style> 
  13. < Button Grid.Row="0" 
    Grid.Column="0" x:ID="cell00" /> 
  14. < TextBlock Grid.Row="5" 
    Grid.ColumnSpan="5" x:ID=
    "statusTextBlock" /> 

 

如上面這段WPF元素類型樣式示例所示,我們已經(jīng)得到了兩種樣式,一種是帶有TargetType的Button,沒有key;另一種是帶有TargetType的TextBlock,沒有key。它們都以同樣的方式工作;當(dāng)創(chuàng)建一個(gè)Button或TextBlock的實(shí)例而不用現(xiàn)實(shí)地設(shè)置Style屬性,它使用的樣式將目標(biāo)類型匹配到控件的類型。

元素類型樣式是便利的,無論何時(shí)你想要所有特定元素的實(shí)例共享一個(gè)外觀,依賴于范圍。例如,迄今,在***窗體中,我們已經(jīng)在示例中為樣式設(shè)置了范圍。

 

 

  1. < !-- Window1.xaml --> 
  2. < Window > 
  3. < !-- every Button or 
    TextBlock in the Window 
    is affected --
    > 
  4. < Window.Resources> 
  5. < Style TargetType="
    {x:Type Button}"
    >< /Style> 
  6. < Style TargetType="
    {x:Type TextBlock}"
    >< /Style> 
  7. < /Window.Resources> 
  8. < /Window> 

 

盡管如此,我們可能想縮小WPF元素類型樣式的范圍。在我們的示例中,這將工作良好將樣式限定范圍在grid中,從而只有g(shù)rid中的Button和TextBlock受到影響。

 

  1. < !-- Window1.xaml --> 
  2. < Window > 
  3. < Grid > 
  4. < !-- only Buttons or 
    TextBlocks in the Grid 
    are affected --
    > 
  5. < Grid.Resources> 
  6. < Style TargetType="
    {x:Type Button}"
    >< /Style> 
  7. < Style TargetType="
    {x:Type TextBlock}"
    >< /Style> 
  8. < /Grid.Resources> 
  9. < /Grid> 
  10. < !-- Buttons and TextBlocks 
    outside the Grid are unaffected --
    > 
  11. < /Window> 

或者,如果你想使你的樣式在你的工程中有更大的作用區(qū)域,你可以將它們放在應(yīng)用程序范圍內(nèi)。

 

 

  1. < !-- MyApp.xaml --> 
  2. < Application > 
  3. < !-- every Button or TextBlock 
    in the Application is affected --
    > 
  4. < Application.Resources> 
  5. < Style TargetType="{x:Type 
    Button}"
    >< /Style> 
  6. < Style TargetType="{x:Type 
    TextBlock}"
    >< /Style> 
  7. < /Application.Resources> 
  8. < /Application> 

 

一般而言,理解WPF元素類型樣式范圍規(guī)則是有用的,因此你可以判斷它們?cè)诟鞣NWPF對(duì)象模型中的效果。第6章更加詳細(xì)地討論了所有種類的資源范圍,包括樣式。

命名樣式和元素類型樣式

當(dāng)對(duì)命名樣式還是元素類型樣式使用作出選擇時(shí),我們的一位評(píng)論家說,按照他的經(jīng)驗(yàn),一旦你有10個(gè)以上給予元素類型的樣式,對(duì)一個(gè)特定的控件獲取它的樣式保持跟蹤將非常困難。這是一個(gè)原因是我成為命名樣式的粉絲。

對(duì)于我而言,樣式是一個(gè)在一個(gè)地方應(yīng)用到內(nèi)容的語(yǔ)義標(biāo)簽,并且在另一個(gè)地方也能獲得一個(gè)可視化表示。正如我們的TTT示例那樣簡(jiǎn)單,我們已經(jīng)得到了兩個(gè)樣式,一個(gè)是為了狀態(tài)文字,另一個(gè)是為了移動(dòng)的單元;在我們這么做之前,我們將要得到更多。

主要的區(qū)別因素是我們?cè)谶@些元素中顯示的數(shù)據(jù)種類,而不是保持WPF元素類型樣式。實(shí)際上,我們有一些分配到TextBox控件的樣式,這將無論如何打消基于類型的樣式,甚至是這個(gè)簡(jiǎn)單的應(yīng)用程序。

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2009-12-28 13:38:35

WPF類型轉(zhuǎn)換器

2009-12-28 16:20:50

WPF內(nèi)嵌樣式

2009-12-28 16:54:30

WPF注釋

2009-12-28 16:00:36

WPF樣式繼承

2009-12-25 17:48:43

WPF資源路徑

2009-12-24 15:36:41

WPF邏輯樹

2010-01-26 18:00:07

Android屏幕元素

2009-12-28 14:32:31

WPF窗體對(duì)話框

2009-12-23 09:18:39

WPF開發(fā)工具

2009-12-21 15:33:07

WCF集合元素

2009-12-23 17:01:09

WPF Command

2010-01-05 14:04:53

.NET Framew

2009-12-25 11:23:43

WPF命令模型

2009-12-29 09:54:27

WPF文字布局

2009-12-23 15:27:34

WPF圖形系統(tǒng)

2009-12-28 14:40:08

WPF屬性

2009-12-28 15:18:29

WPF控件模型

2009-12-23 17:42:37

WPF Control

2009-12-28 11:41:04

WPF 3.5特點(diǎn)

2009-12-28 10:47:58

WPF繪圖
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)