Используйте элемент Grid
как элемент верхнего уровня в пользовательском интерфейсе - он растянется, чтобы заполнить его контейнер. Затем положите Canvas
с HorizontalAlignment="Stretch"
внутри Grid
, и он будет вести себя так, как вы хотите.
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Canvas Background="Blue"/>
</Grid>
Это сработало для меня. Ключ - это элемент пользовательского интерфейса верхнего уровня. В то время как Grid
заполняет все свободное пространство по умолчанию, Canvas
es занимают столько места, сколько требует их содержимое.
Знаете ли вы, нужен ли атрибут «x: Class =»? Я попытался использовать Grid как сдерживание, но по какой-то причине все просто исчезает. – resopollution
Xml version = "1.0" encoding = "utf-8"?>
Как вы тестирования я вставил это в kaxaml и это работает для меня, так что вам не нужен х: атрибут класса: <Сетка XMLNS = "HTTP : //schemas.microsoft.com/winfx/2006/xaml/presentation " xmlns: x =" http://schemas.microsoft.com/winfx/2006/xaml "> <Фон на холсте =" Синий "/> –