<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="ChangeRight"> <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.cs using System; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Navigation; using System.Windows.Shapes; using System.Windows.Data; namespace Canvas_Positioning_Properties { public partial class Window1 : Window { public void ChangeRight(object sender, SelectionChangedEventArgs args) { ListBoxItem li2 = ((sender as ListBox).SelectedItem as ListBoxItem); LengthConverter myLengthConverter = new LengthConverter(); Double db2 = (Double)myLengthConverter.ConvertFromString(li2.Content.ToString()); Canvas.SetRight(text1, db2); Console.WriteLine(myLengthConverter.ConvertToString(Canvas.GetRight(text1))); } } }