В этих ситуациях первым шагом всегда должен быть поиск файла generic.xaml , который отвечает за определение шаблона нескольких элементов управления.
Взглянув на файл, определенный для сборки 10.0.16299 ( Fall Creators Update ), я нашел следующий определенный ресурс:
<Thickness x:Key="ContentDialogPadding">24,18,24,24</Thickness>
На который позже ссылается Grid
с именем DialogSpace (как вы правильно определили) во время определения шаблона ContentDialog
.
<Grid x:Name="DialogSpace" Padding="{ThemeResource ContentDialogPadding}">
- Самый простой способ решить эту проблему - определить собственный ресурс
Thickness
в своем проекте с тем же идентификатором ключа , где вы переопределяетезначения, 24,18,24,24 , к чему-то, что лучше соответствует вашим намерениям.
Вы можете переопределить этот ресурс в месте, где областью действия является все приложение, с помощьюреализуя его в App.xaml .Но представив, что ваше приложение имеет только один ContentDialog
или вы хотите сделать это только в одном месте, было бы разумно определить это в более низкой области, например, на уровне ресурсов ContentDialog
, например:
<ContentDialog ...>
<ContentDialog.Resources>
<Thickness x:Key="ContentDialogPadding">0,0,0,0</Thickness>
</ContentDialog.Resources>
....
</ContentDialog>
- Второй вариант заключается в «импорте» шаблона в проект и просто удаляет ссылку на ресурс ContentDialogPadding с помощью свойства зависимостей
Padding
объекта DialogScope Сетка.Но эти шаблоны, очевидно, действительно большие, и для такой маленькой модификации это не кажется подходящим вариантом.
Расположение файла generic.xaml:
C:\Program Files (x86)\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\UAP\{build version}\Generic