Почему акриловая кисть не поддерживается в UWP?
Я создал базовое приложение UWP, и когда я пытаюсь использовать акриловую кисть следующим образом:
<Page
x:Class="LearningUWP.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:LearningUWP"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
// Acrylic brush here
<Page.Resources>
<media:AcrylicBrush x:Key="HostBackdropBrush"
BackgroundSource="HostBackdrop"
TintColor="LightBlue"
TintOpacity="0.6"
FallbackColor="LightSkyBlue"
FallbackForced="False" />
</Page.Resources>
<Grid>
<Button Content="Synthesize" Margin="528,88,0,0" VerticalAlignment="Top" Height="93" Width="222" Click="Button_Click"/>
<TextBox x:Name="Text" HorizontalAlignment="Left" Height="145" Margin="39,62,0,0" Text="Hello, World!" TextWrapping="Wrap" VerticalAlignment="Top" Width="389"/>
</Grid>
</Page>
Visual Studio говорит, что
Acrylic Brush is not supported in UWP
. У меня Windows 10 1903 (которая также является моей целевой версией), а моя минимальная версия — 1803.
2 ответа
Я нашел способ сделать это:
<Page.Resources>
<ResourceDictionary>
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Default">
<AcrylicBrush x:Key="MyAcrylicBrush"
BackgroundSource="HostBackdrop"
TintColor="Black"
TintOpacity="0.5"
TintLuminosityOpacity="1"
FallbackColor="#111111"
/>
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
</Page.Resources>
Добавив приведенный выше код в мой
<Page>
и настройка
<Grid>
Фон такой:
<Grid Background="{ThemeResource MyAcrylicBrush}">
Где
MyAcrylicBrush
это
AcrylicBrush
х
x:Key
.
Почему акриловая кисть не поддерживается в UWP?
AcrylicBrush
доступен с 16299, он может работать в версии 1803 min (17134), используется ваша ошибка компиляции
media:
пространство имен, но вы не указали пакет самородков WinUI, и если ваш mini 1809, вам не нужно добавлять
media
пространство имен. вы просто даете ему
x:key
и использоватьStaticResource
сослаться на акриловую кисть.