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.