После нескольких экспериментов я обнаружил, что кисть используется для управления цветом наложения, который отображается над ContentDialog
является SystemControlPageBackgroundBaseMediumBrush
, а не более вероятно, глядя ContentDialogDimmingThemeBrush
.
Проверяя определения темы по умолчанию, то выясняется, что как светлые и темные темы установить эту кисть в цветовом ресурс SystemBaseMediumColor
который на световую тему #99000000
и на темную теме является #99FFFFFF
. Это приводит к тому, что наложение затеняет светлую тему и осветляет темную тему.
С SystemBaseMediumColor
ссылки других определений кистей, такие как те, которые используются для неактивных стержневых заголовков, необходимо переопределить SystemControlPageBackgroundBaseMediumBrush
, а не цвет, который он ссылается исключительно на темную тему.
Для этого нам нужно переопределить кисть в словаре тематического ресурса в App.xaml
или в файле XAML ресурс объединено в App.xaml
вдоль линий:
<Application>
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Dark">
<SolidColorBrush
x:Key="SystemControlPageBackgroundBaseMediumBrush"
Color="#99000000"
/>
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
Очень хорошая работа, теперь, когда мы находимся в деталях, вы видели, когда изменение размера окна приложения имеет пустой белый фон и находится ниже корневого фрейма (потому что я установил изображение в корневом фрейме). Любая идея изменить этот цвет? Я считаю внутренним. Кроме того, я должен видеть, как отклонить contentdialog, когда граница коснулась. Я понимаю, что мне придется отредактировать шаблон. –