Use the Grid to create a dialog box that uses the WPF layout API
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Grid_Run_Dialog.Window1"
Name="mainWindow" Loaded="onLoaded" Width="425" Height="200"/>
//File:Window.xaml.vb
Imports System
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Media
Namespace Grid_Run_Dialog
Public Partial Class Window1
Inherits Window
Private grid1 As New Grid()
Private colDef1 As New ColumnDefinition()
Private colDef2 As New ColumnDefinition()
Private colDef3 As New ColumnDefinition()
Private colDef4 As New ColumnDefinition()
Private colDef5 As New ColumnDefinition()
Private rowDef1 As New RowDefinition()
Private rowDef2 As New RowDefinition()
Private rowDef3 As New RowDefinition()
Private rowDef4 As New RowDefinition()
Private txt1 As New TextBlock()
Private txt2 As New TextBlock()
Private button1 As New Button()
Private button2 As New Button()
Private button3 As New Button()
Private tb1 As TextBox
Private img1 As New Image()
Private Sub onLoaded(sender As Object, e As EventArgs)
grid1.Background = Brushes.Gainsboro
grid1.HorizontalAlignment = HorizontalAlignment.Left
grid1.VerticalAlignment = VerticalAlignment.Top
grid1.ShowGridLines = True
grid1.Width = 425
grid1.Height = 165
colDef1.Width = New GridLength(1, GridUnitType.Auto)
colDef2.Width = New GridLength(1, GridUnitType.Star)
colDef3.Width = New GridLength(1, GridUnitType.Star)
colDef4.Width = New GridLength(1, GridUnitType.Star)
colDef5.Width = New GridLength(1, GridUnitType.Star)
grid1.ColumnDefinitions.Add(colDef1)
grid1.ColumnDefinitions.Add(colDef2)
grid1.ColumnDefinitions.Add(colDef3)
grid1.ColumnDefinitions.Add(colDef4)
grid1.ColumnDefinitions.Add(colDef5)
rowDef1.Height = New GridLength(1, GridUnitType.Auto)
rowDef2.Height = New GridLength(1, GridUnitType.Auto)
rowDef3.Height = New GridLength(1, GridUnitType.Star)
rowDef4.Height = New GridLength(1, GridUnitType.Auto)
grid1.RowDefinitions.Add(rowDef1)
grid1.RowDefinitions.Add(rowDef2)
grid1.RowDefinitions.Add(rowDef3)
grid1.RowDefinitions.Add(rowDef4)
img1.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("fil:///c:/image.png", UriKind.Relative))
Grid.SetRow(img1, 0)
Grid.SetColumn(img1, 0)
txt1.Text = "Text"
txt1.TextWrapping = TextWrapping.Wrap
Grid.SetColumnSpan(txt1, 4)
Grid.SetRow(txt1, 0)
Grid.SetColumn(txt1, 1)
txt2.Text = "Open:"
Grid.SetRow(txt2, 1)
Grid.SetColumn(txt2, 0)
Grid.SetRow(tb1, 1)
Grid.SetColumn(tb1, 1)
Grid.SetColumnSpan(tb1, 5)
button1.Content = "OK"
button2.Content = "Cancel"
button3.Content = "Browse ..."
Grid.SetRow(button1, 3)
Grid.SetColumn(button1, 2)
button1.Margin = New Thickness(10, 0, 10, 15)
button2.Margin = New Thickness(10, 0, 10, 15)
button3.Margin = New Thickness(10, 0, 10, 15)
Grid.SetRow(button2, 3)
Grid.SetColumn(button2, 3)
Grid.SetRow(button3, 3)
Grid.SetColumn(button3, 4)
grid1.Children.Add(img1)
grid1.Children.Add(txt1)
grid1.Children.Add(txt2)
grid1.Children.Add(tb1)
grid1.Children.Add(button1)
grid1.Children.Add(button2)
grid1.Children.Add(button3)
mainWindow.Content = grid1
End Sub
End Class
End Namespace
Related examples in the same category