Setting Canvas properties in an ItemsControl DataTemplate Setting Canvas properties in an ItemsControl DataTemplate wpf wpf

Setting Canvas properties in an ItemsControl DataTemplate


The attached properties only work on direct children of the Canvas. ItemsControl will place ContentPresenter controls as its direct children, so you might want to add a style for that as well:

<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>