我有在WPF用户控件以下标记:

<Border Name="_border" BorderThickness="4" BorderBrush="Blue">
    <Canvas Name="_canvas" Background="Black" >
        <DockPanel LastChildFill="True">
            <ItemsControl Name="_itemsControl" Background="Bisque" AllowDrop="True" Height="100" Width="100"
                      HorizontalAlignment="Stretch"
                      VerticalAlignment="Stretch"
                      ItemTemplate="{StaticResource pictureTemplate}"
                      ItemsPanel="{StaticResource panelTemplate}"
                      Drop="_itemsControl_Drop" 
                      DragOver="_itemsControl_DragOver" 
                      DragLeave="_itemsControl_DragLeave" 
                      PreviewMouseLeftButtonDown="_itemsControl_PreviewMouseLeftButtonDown"
                      PreviewMouseMove="_itemsControl_PreviewMouseMove">

        </ItemsControl>
             </DockPanel>
    </Canvas>
</Border>

我想ItemsControl的,以填补所有可用空间,但它不服从DockPanel中的LastChildFill财产。水平和垂直方向“拉伸”值没有任何帮助。我在想什么?

有帮助吗?

解决方案

如果你完全删除画布,你不会有这个问题。一旦你介绍一个画布,你需要设置大小和元素的位置在画布(如DockPanel中)。

其他提示

什么是您DockPanel中的大小?尝试设置你的DockPanel中进行测试的背景。

我不认为你的问题是你的ItemsControl没有拉伸,以填补你的DockPanel中,但实际上你的DockPanel中未拉伸以适应画布控件内。画布控制及其孩子不会调整尺寸以适应thier母体。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top