ItemsControl 中的装饰器

Adorner inside ItemsControl

我在 ItemsControl 中使用 Canvas,可以在其中绘制矩形、圆形等形状。我想调整大小并移动绘制的形状。我尝试使用装饰器,但没有找到在 ItemsControl 中使用装饰器的方法,这可能吗?

                <ItemsControl.ItemsPanel>
                    <ItemsPanelTemplate>
                        <zc:ZoomableCanvas Loaded="Canvas_Loaded"
                                    RealizationLimit="1000" 
                                    RealizationRate="10"
                                    RealizationPriority="Background"
                                    ApplyTransform="False"
                                    Scale="{Binding ZoomableCanvas.Scale}"
                                    Offset="{Binding ZoomableCanvas.Offset}" ClipToBounds="True"
                                    Width="{Binding ZoomableCanvas.ActualWidth}"
                                    Height="{Binding ZoomableCanvas.ActualHeight}"
                                    >
                        </zc:ZoomableCanvas>
                    </ItemsPanelTemplate>
                </ItemsControl.ItemsPanel>

可能是回答的晚了点,不过还是写出来供以后参考。

您正在使用的 Canvas 只有在 AdornerDecorator 内才能显示装饰品。试试这个:

<AdornerDecorator>
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <zc:ZoomableCanvas Loaded="Canvas_Loaded"
                               RealizationLimit="1000" 
                               RealizationRate="10"
                               RealizationPriority="Background"
                               ApplyTransform="False"
                               Scale="{Binding ZoomableCanvas.Scale}"
                               Offset="{Binding ZoomableCanvas.Offset}" 
                               ClipToBounds="True"
                               Width="{Binding ZoomableCanvas.ActualWidth}"
                               Height="{Binding ZoomableCanvas.ActualHeight}"
                               >
            </zc:ZoomableCanvas>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
</AdornerDecorator>

希望对您有所帮助!