Ответ 1
Прилагаемые свойства работают только с прямыми детьми холста. ItemsControl будет размещать элементы управления ContentPresenter в качестве своих прямых дочерних элементов, поэтому вы можете также добавить стиль для этого:
<ItemsControl ItemsSource="{Binding Path=Nodes}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemContainerStyle>
<Style TargetType="ContentPresenter">
<Setter Property="Canvas.Left" Value="{Binding Path=XPos}" />
<Setter Property="Canvas.Top" Value="{Binding Path=YPos}" />
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
Надеюсь, что это поможет