Проблема в том, что единственная вещь на холсте - это ItemsControl.Это, в свою очередь, использует по умолчанию стековую панель, в которую добавляются сгенерированные дочерние элементы, поэтому назначение Canvas.Left не оказывает никакого влияния.
Вам необходимо поместить Canvas внутри ItemsPanelTemplate, который, в свою очередь, назначается в качестве значения ItemsControl.Свойство ItemsPanel.Это заставит ItemsControl генерировать Canvas вместо StackPanel по умолчанию.
<ItemsControl ItemsSource="{Binding Table}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas Margin="10"
Background="AliceBlue" Width="300" Height="300" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border Canvas.Left="{Binding x}" MouseLeftButtonDown="Border_MouseLeftButtonDown">
<StackPanel>
<TextBox Text="{Binding x}"/>
</StackPanel>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>