я скопировал свой код в свой проект. Есть несколько вещей, которые, как я думаю, могут вызвать вашу проблему.
- У вас есть отступы в вашей цветовой зоне. Если у вас не было цветовой зоны, у вас не было бы 16 пунктов заполнения. Это заставит макет иметь дополнительные 32 точки пространства в обоих направлениях, которые он должен отображать, увеличивая размер. Это увеличение размера, но не уменьшение.
- Обратите внимание, как цветовая зона не растягивается, чтобы заполнить ее содержимое, ожидаете ли вы такого поведения? Я не уверен, может ли это быть причиной изменения размера, которое вы ожидаете, но это может быть причина, по которой вещи не выглядят так, как вы ожидаете.
Без дополнительной информации (как вы хотите, чтобы это выглядело, именно в чем проблема), это лучший ответ, который я могу предоставить.
Редактировать: Спасибо за скриншот, что отлично проясняет ситуацию.
Выравнивание по умолчанию ColorZone находится сверху слева. Я не знаю, почему, потому что почти в каждом случае я обнаружил, что выравниваю его, чтобы растянуть, чтобы заполнить все свободное пространство, как и большинство других контейнеров WPF (сетка, панель стеллажей и т. Д.).
Вам нужно добавить следующее:
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
к вашему colorzone. В качестве альтернативы, в ваших ресурсах App.xaml вы можете создать общий стиль для ColorZone и использовать их как значения по умолчанию. Я действительно должен обойти это с моей заявкой:
<Style TargetType="materialDesign:ColorZone">
<Setter Property="HorizontalAlignment" Value="Stretch"/>
<Setter Property="VerticalAlignment" Value="Stretch"/>
</Style>
Некоторые скриншоты были бы полезны. Какой размер уменьшается, все? Строки в сетке? У вас есть только одна строка в вашей сетке? – Joe