WPF - Как закрепить границу на холсте? - PullRequest
2 голосов
/ 19 марта 2009

У меня есть граница внутри холста. Высота / ширина границы варьируются в зависимости от ее содержимого. Я хочу, чтобы граница растянулась, чтобы заполнить весь холст. Как я могу это сделать?

Я пробовал это на границе без успеха:

Height="{Binding ElementName=MainCanvas, Path=Height}" 
Width="{Binding ElementName=MainCanvas, Path=Width}"

1 Ответ

8 голосов
/ 19 марта 2009

Имеет ли холст явную высоту / ширину? Может иметь автоматический размер и иметь двойную высоту / ширину. Нет.

Попробуйте связать дочернюю высоту / ширину с ActualHeight и ActualWidth холста следующим образом:

Height="{Binding ElementName=MainCanvas, Path=ActualHeight}"
Width="{Binding ElementName=MainCanvas, Path=ActualWidth}"

Панели Canvas никогда не сообщают дочерним элементам размер относительно их размера, даже если для дочерних элементов установлено значение HorizontalAlignment.Stretch (или вертикальное). Таким образом, связывание является хорошим решением здесь.

...