在DataTemplate中剪切Canvas的内容

时间:2016-09-01 15:05:12

标签: wpf xaml datatemplate

我在Canvas中有一行作为WPF窗口上的根元素看起来很好。如果我将它放入ItemsControl的DataTemplate中,则StackPanel会将这些行剪切为ItemsPanelTemplate。我已经检查过Grid等其他面板作为ItemsPanelTemplate不会剪辑内容。我知道Canvas不会剪辑内容。这仅在运行时出现,而不是设计时。问题的根源是什么?

<ItemsControl ItemsSource="{Binding ...}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel ClipToBounds="False" 
                        Orientation="Horizontal" />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Canvas Width="100"
                    Height="100" 
                    ClipToBounds="False">
                <Line X1="0"
                      Y1="0"
                      X2="-10"
                      Y2="10"
                      Stroke="DeepPink"
                      StrokeThickness="10" />
            </Canvas>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

0 个答案:

没有答案