LastChildFill не работает при попытке закрепить ItemsControl

StackOverflow https://stackoverflow.com/questions/663310

  •  20-08-2019
  •  | 
  •  

Вопрос

У меня есть следующая разметка в пользовательском элементе управления 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 заполнил все доступное пространство, но он не подчиняется свойству LastChildFill DockPanel.Значения «Растягивание» по горизонтали и вертикали тоже не помогают.Что мне не хватает?

Это было полезно?

Решение

Если вы полностью удалите Canvas, у вас не возникнет этой проблемы.После того как вы создали холст, вам необходимо установить размер и положение элементов на холсте (например, DockPanel).

Другие советы

Каков размер вашей DockPanel?Попробуйте установить фон на DockPanel для тестирования.

Я не думаю, что ваша проблема заключается в том, что ваш ItemsControl не растягивается, чтобы заполнить вашу DockPanel, но на самом деле ваша DockPanel не растягивается, чтобы поместиться внутри элемента управления Canvas.Элемент управления Canvas и его дочерние элементы не будут изменять размер в соответствии со своим родительским элементом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top