1

WPFUserControlに次のマークアップがあります。

<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プロパティに準拠していません。水平方向と垂直方向の「ストレッチ」値も役に立ちません。私は何が欠けていますか?

4

2 に答える 2

2

DockPanelのサイズはどれくらいですか?テスト用にDockPanelに背景を設定してみてください。

あなたの問題は、ItemsControlがDockPanelを満たすように伸びていないことにあるとは思いませんが、実際には、DockPanelがCanvasControl内に収まるように伸びていません。キャンバスコントロールとその子は、親に合わせてサイズ変更されません。

于 2009-03-19T18:29:13.517 に答える
2

キャンバスを完全に削除すると、この問題は発生しません。キャンバスを導入したら、キャンバス内の要素 (DockPanel など) のサイズと位置を設定する必要があります。

于 2009-03-19T18:51:30.593 に答える