WPF - 按鈕



Button 類表示最基本的按鈕控制元件型別。Button 類的繼承層次結構如下:

Hierarchical of Button

Button 類常用屬性

序號 屬性及描述
1

Background

獲取或設定一個筆刷,提供控制元件的背景。(繼承自 Control)

2

BorderBrush

獲取或設定一個筆刷,描述控制元件的邊框填充。(繼承自 Control)

3

BorderThickness

獲取或設定控制元件的邊框粗細。(繼承自 Control)

4

Content

獲取或設定 ContentControl 的內容。(繼承自 ContentControl)

5

ClickMode

獲取或設定一個值,指示 Click 事件何時發生,以裝置行為表示。(繼承自 ButtonBase)

6

ContentTemplate

獲取或設定用於顯示 ContentControl 內容的資料模板。(繼承自 ContentControl)

7

FontFamily

獲取或設定用於在控制元件中顯示文字的字型。(繼承自 Control)

8

FontSize

獲取或設定此控制元件中文字的大小。(繼承自 Control)

9

FontStyle

獲取或設定渲染文字的樣式。(繼承自 Control)

10

FontWeight

獲取或設定指定字型的粗細。(繼承自 Control)

11

Foreground

獲取或設定一個筆刷,描述前景色。(繼承自 Control)

12

Height

獲取或設定 FrameworkElement 的建議高度。(繼承自 FrameworkElement)

13

HorizontalAlignment

獲取或設定當 FrameworkElement 在佈局父級(如面板或項控制元件)中組合時應用的水平對齊特性。(繼承自 FrameworkElement)

14

IsEnabled

獲取或設定一個值,指示使用者是否可以與控制元件互動。(繼承自 Control)

15

IsPressed

獲取一個值,指示 ButtonBase 當前是否處於按下狀態。(繼承自 ButtonBase)

16

Margin

獲取或設定 FrameworkElement 的外部邊距。(繼承自 FrameworkElement)

17

Name

獲取或設定物件的標識名稱。當 XAML 處理器從 XAML 標記建立物件樹時,執行時程式碼可以透過此名稱引用 XAML 宣告的物件。(繼承自 FrameworkElement)

18

Opacity

獲取或設定物件的透明度。(繼承自 UIElement)

19

Resources

獲取本地定義的資源字典。在 XAML 中,您可以將資源項作為 FrameworkElement 的子物件元素建立。Resources 屬性元素,透過 XAML 隱式集合語法。(繼承自 FrameworkElement)

20

Style

獲取或設定在此物件佈局和渲染期間應用的例項 Style。(繼承自 FrameworkElement)

21

Template

獲取或設定控制元件模板。控制元件模板定義 UI 中控制元件的視覺外觀,並在 XAML 標記中定義。(繼承自 Control)

22

VerticalAlignment

獲取或設定當 FrameworkElement 在父物件(如面板或項控制元件)中組合時應用的垂直對齊特性。(繼承自 FrameworkElement)

23

Visibility

獲取或設定 UIElement 的可見性。不可見的 UIElement 不會呈現,也不會將其所需大小傳達給佈局。(繼承自 UIElement)

24

Width

獲取或設定 FrameworkElement 的寬度。(繼承自 FrameworkElement)

Button 類常用方法

序號 方法及描述
1

ClearValue

清除依賴屬性的區域性值。(繼承自 DependencyObject)

2

FindName

檢索具有指定標識名稱的物件。(繼承自 FrameworkElement)

3

OnApplyTemplate

每當應用程式程式碼或內部程序(例如重建佈局傳遞)呼叫 ApplyTemplate 時都會呼叫。簡單來說,這意味著該方法在 UI 元素在應用程式中顯示之前被呼叫。覆蓋此方法以影響類的預設模板後邏輯。(繼承自 FrameworkElement)

4

OnContentChanged

當 Content 屬性的值更改時呼叫。(繼承自 ContentControl)

5

OnDragEnter

在 DragEnter 事件發生之前呼叫。(繼承自 Control)

6

OnDragLeave

在 DragLeave 事件發生之前呼叫。(繼承自 Control)

7

OnDragOver

在 DragOver 事件發生之前呼叫。(繼承自 Control)

8

OnDrop

在 Drop 事件發生之前呼叫。(繼承自 Control)

9

OnGotFocus

在 GotFocus 事件發生之前呼叫。(繼承自 Control)

10

OnKeyDown

在按下鍵盤鍵時呼叫,此時 UIElement 具有焦點。(繼承自 Control)

11

OnKeyUp

在釋放鍵盤鍵時呼叫,此時 UIElement 具有焦點。(繼承自 Control)

12

OnLostFocus

在 LostFocus 事件發生之前呼叫。(繼承自 Control)

13

SetBinding

使用提供的繫結物件將繫結附加到 FrameworkElement。(繼承自 FrameworkElement)

Button 類常用事件

序號 事件及描述
1

Click

單擊按鈕控制元件時發生。(繼承自 ButtonBase)

2

DataContextChanged

當 FrameworkElement.DataContext 屬性的值更改時發生。(繼承自 FrameworkElement)

3

DragEnter

當輸入系統報告基礎拖動事件並將此元素作為目標時發生。(繼承自 UIElement)

4

DragLeave

當輸入系統報告基礎拖動事件並將此元素作為源時發生。(繼承自 UIElement)

5

DragOver

當輸入系統報告基礎拖動事件並將此元素作為潛在放置目標時發生。(繼承自 UIElement)

6

DragStarting

啟動拖動操作時發生。(繼承自 UIElement)

7

GotFocus

當 UIElement 獲得焦點時發生。(繼承自 UIElement)

8

Holding

當在此元素的命中測試區域上發生其他未處理的 Hold 互動時發生。(繼承自 UIElement)

9

IsEnabledChanged

當 IsEnabled 屬性更改時發生。(繼承自 Control)

10

KeyDown

當 UIElement 具有焦點時按下鍵盤鍵時發生。(繼承自 UIElement)

11

KeyUp

當 UIElement 具有焦點時釋放鍵盤鍵時發生。(繼承自 UIElement)

12

LostFocus

當 UIElement 失去焦點時發生。(繼承自 UIElement)

13

SizeChanged

當 FrameworkElement 上的 ActualHeight 或 ActualWidth 屬性的值更改時發生。(繼承自 FrameworkElement)

示例

讓我們來看一個簡單的示例,以便更好地理解這些概念。請按照以下步驟操作:

  • 開啟 Visual Studio,然後單擊“檔案”>“新建”>“專案”選單選項。

  • 在“新建專案”對話方塊的“模板”窗格中,單擊“Visual C#”,在中間窗格中選擇“WPF 應用程式”。

  • 在“名稱”框中,鍵入 WPFButtonControl,然後單擊“確定”。

  • 建立一個新的 WPF 專案。

  • 從工具箱中將一個 Button 控制元件拖到 WPF 設計視窗。

  • 現在單擊按鈕並轉到“屬性”視窗,設定按鈕的以下屬性。

屬性
Content Click Me
Margin 200
Height 20
Width 75
  • 如果檢視 XAML 視窗,您將看到 Visual Studio 生成的以下程式碼。

<Window x:Class = "WPFButtonControl.MainWindow" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" 
   xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" 
   xmlns:local = "clr-namespace:WPFButtonControl" 
   mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "525"> 
	
   <Grid> 
      <Button x:Name = "button" Content = "Click Me"
         HorizontalAlignment = "Left" Margin = "194,150,0,0"
         VerticalAlignment = "Top" Width = "75"/>  
   </Grid> 
	
</Window> 
  • 現在讓我們轉到設計視窗,雙擊按鈕,這將開啟 MainWindow.xaml.cs 檔案。

  • 我們將編寫以下 C# 程式碼,以便在使用者單擊按鈕時顯示一條訊息。

using System.Windows;
  
namespace WPFButtonControl { 
   /// <summary> 
      /// Interaction logic for MainWindow.xaml 
   /// </summary> 
	
   public partial class MainWindow : Window { 
	
      public MainWindow() { 
         InitializeComponent(); 
      }  
		
      private void button_Click(object sender, RoutedEventArgs e) { 
         MessageBox.Show("You have clicked the button"); 
      } 
		
   } 
}

編譯並執行上述程式碼時,將生成以下輸出:

output of Button Class

單擊按鈕時,將顯示以下訊息:

click on Button

我們建議您執行上述示例程式碼,並嘗試一些其他屬性和事件。

wpf_controls.htm
廣告

© . All rights reserved.