1

我创建了一个基本的 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。

4

2 回答 2

1

为什么 UWP 不支持亚克力笔刷?

AcrylicBrush从16299开始可用,可以在1803 min版本(17134)下工作,你的编译错误是使用media:命名空间,但你没有提到WinUI nugget包,如果你的mini 1809,你不需要添加media命名空间。你只需给它一个x:key并使用它StaticResource来指代丙烯酸刷。

于 2021-01-27T01:38:13.347 回答
1

我找到了一种方法:

<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的在哪里AcrylicBrushx:Key

于 2021-01-26T14:33:50.670 回答