<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Canvas_Positioning_Properties.Window1"
Title="Canvas Positioning Properties">
<StackPanel>
<Canvas Name="canvas1" Height="300">
<TextBlock Name="text1" FontWeight="Bold" Canvas.Left="0" Canvas.Right="0" Canvas.Top="0" Canvas.Bottom="0">A TextBlock.</TextBlock>
</Canvas>
<ListBox Grid.Column="3" Grid.Row="1" VerticalAlignment="Top" Width="60" Margin="10,0,0,0" SelectionChanged="ChangeLeft">
<ListBoxItem>Auto</ListBoxItem>
<ListBoxItem>10</ListBoxItem>
<ListBoxItem>20</ListBoxItem>
<ListBoxItem>30</ListBoxItem>
<ListBoxItem>40</ListBoxItem>
<ListBoxItem>50</ListBoxItem>
<ListBoxItem>60</ListBoxItem>
<ListBoxItem>70</ListBoxItem>
<ListBoxItem>80</ListBoxItem>
<ListBoxItem>90</ListBoxItem>
<ListBoxItem>100</ListBoxItem>
</ListBox>
</StackPanel>
</Window>
//File:Window.xaml.vb
Imports System
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Documents
Imports System.Windows.Navigation
Imports System.Windows.Shapes
Imports System.Windows.Data
Namespace Canvas_Positioning_Properties
Public Partial Class Window1
Inherits Window
Public Sub ChangeLeft(sender As Object, args As SelectionChangedEventArgs)
Dim li As ListBoxItem = TryCast(TryCast(sender, ListBox).SelectedItem, ListBoxItem)
Dim myLengthConverter As New LengthConverter()
Dim db1 As [Double] = CType(myLengthConverter.ConvertFromString(li.Content.ToString()), [Double])
Canvas.SetLeft(text1, db1)
Console.WriteLine(myLengthConverter.ConvertToString(Canvas.GetLeft(text1)))
End Sub
End Class
End Namespace