XAML vs. VB.NET



本章中,我們將用 VB.Net 編寫相同的示例,以便熟悉 VB.Net 的使用者也能理解 XAML 的優勢。

讓我們再來看一下用 XAML 編寫的同一個示例:

<Window x:Class = "XAMLVsCode.MainWindow" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" Title = "MainWindow" Height = "350" Width = "604"> 
	
   <StackPanel> 
      <TextBlock Text = "Welcome to XAML Tutorial with VB.net" Height = "20" Width = "220" Margin = "5"/> 
      <Button Content = "Ok" Height = "20" Width = "60" Margin = "5"/> 
   </StackPanel> 
	
</Window> 

在這個例子中,我們建立了一個包含按鈕和文字塊的堆疊面板,並定義了按鈕和文字塊的一些屬性,例如高度、寬度和邊距。編譯並執行上述程式碼後,將產生以下輸出:

Xaml Vb.net

現在來看一下用 VB.Net 編寫的相同程式碼:

Public Class MainWindow
   Private Sub Window_Loaded(sender As Object, e As RoutedEventArgs) 
      Dim panel As New StackPanel() 
      panel.Orientation = Orientation.Vertical 
      Me.Content = panel 
      Dim txtInput As New TextBlock 
		
      txtInput.Text = "Welcome to XAML Tutorial with VB.net" 
      txtInput.Width = 220 
      txtInput.Height = 20 
      txtInput.Margin = New Thickness(5) 
		
      panel.Children.Add(txtInput)  
      Dim btn As New Button()
		
      btn.Content = "Ok" 
      btn.Width = 60 
      btn.Height = 20 
      btn.Margin = New Thickness(5) 
		
      panel.Children.Add(btn)
   End Sub 
End Class 

編譯並執行上述程式碼後,輸出與 XAML 程式碼的輸出完全相同。

Xaml Vb.Net

現在您可以直觀地看到與 VB.Net 相比,使用 XAML 的簡單之處。

在上面的例子中,我們已經看到,在 XAML 中可以完成的操作,也可以在其他過程語言(如 C# 和 VB.Net)中完成。

讓我們來看另一個例子,在這個例子中我們將同時使用 XAML 和 VB.Net。我們將用 XAML 設計一個 GUI,並在 VB.Net 中實現行為。

在這個例子中,一個按鈕被新增到主視窗。當用戶點選這個按鈕時,它會在訊息框中顯示一條訊息。以下是 XAML 程式碼,其中聲明瞭一個 Button 物件並設定了一些屬性。

<Window x:Class="MainWindow" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" Title = "MainWindow" Height = "350" Width = "604"> 
	
   <Grid> 
      <Button Name = "btn" HorizontalAlignment = "Center" Width = "60" Height = "30" Content = "Click Me" /> 
   </Grid> 
	
</Window> 

在 VB.Net 中,實現了按鈕點選事件(行為)。此事件在訊息框中顯示訊息。

Public Class MainWindow
   Private Sub btn_Click(sender As Object, e As RoutedEventArgs) Handles btn.Click 
      MessageBox.Show("Button is Clicked") 
   End Sub 
End Class 

編譯並執行上述程式碼後,將顯示以下螢幕:

Message Box

現在點選上面顯示“點選我”的按鈕。它將顯示以下訊息:

Click Me
廣告
© . All rights reserved.