Как убрать отступы из содержимого диалога? - PullRequest
0 голосов
/ 03 июня 2018

Как убрать отступ / отступ в ContentDialog? Этот или другой не помог мне.Я попытался с padding & margin в тегах ContentDialog и Root Grid, как показано ниже.

<ContentDialog...  Padding="0" Margin="0">

<Grid Background="Bisque" Width="500" Height="400" Padding="0" Margin="0">            
<Button Content="X" Height="40" Width="40" VerticalAlignment="Top" 
HorizontalAlignment="Right"></Button>
</Grid>

без удачи.Но в Live Visual Tree я нашел сетку (DialogSpace), занимающую эту область.Но как получить к нему доступ и изменить его?

enter image description here

1 Ответ

0 голосов
/ 03 июня 2018

В этих ситуациях первым шагом всегда должен быть поиск файла 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...