XAML 与 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

现在您可以想象使用 XAML 比使用 VB.Net 有多么简单。

在上面的例子中,我们已经看到,我们在 XAML 中可以做的事情也可以在其他过程语言(如 C# 和 VB.Net)中完成。

让我们看另一个将同时使用 XAML 和 VB.Net 的例子。我们将在 XAML 中设计一个 GUI,并在 VB.Net 中实现行为。

在此示例中,向主窗口添加了一个按钮。当用户单击此按钮时,它会在消息框中显示一条消息。以下是 XAML 中的代码,其中声明了一个按钮对象并带有一些属性。

<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 

当编译并执行上述代码时,它将显示以下屏幕 −

消息框

现在单击上面的"单击我"按钮。它将显示以下消息 −

单击我