我有一个ItemsControl
with a Canvas
as itsItemsPanel
和Path
as the ItemTemplate
。目标是绘制图形,因此Path.Data
应该包含要在画布中绘制的具有绝对坐标的几何图形。
如果我实例化一个 Canvas 并将路径直接放在其中,它工作正常。
但是如果我使用 ItemsControl,每个 Path 最终都会包裹在 ContentPresenter 中,然后坐标就会丢失,因为 ContentPresenter 与 Canvas 原点对齐。
这是我的代码:
<ItemsControl
ItemsSource="{Binding Signals}"
>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Path
Stroke="Red"
StrokeThickness="1"
StrokeDashCap="Round"
StrokeLineJoin="Round"
Stretch="Fill"
Data={Binding Converter=SignalToGeometryConverter}
/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>