我们能否通过 Xamarin.Forms 在 Windows 10 UWP 应用程序中获得流畅的设计? https://learn.microsoft.com/en-us/windows/uwp/style/acrylic
最佳答案
Jason 在技术上是正确的,因为该功能尚未公开发布。但是,如果你在 Windows Insider Preview 计划中,你应该已经可以尝试了。这就是您所需要的:
- 最新版本的 Visual Studio(2017,15.3)
- 最新的 Windows 10 Insider Preview SDK(可能是 16267)
- .NET UWP NuGet 包的最新版本
如果 Windows.UI.Xaml.Media.AcrylicBrush
可访问,您可以检查您的版本是否正确。
与 Xamarin.Forms 一起使用:我自己还没有尝试过,但从技术上讲应该是可行的。您需要为 UWP 平台推出自定义渲染器,您可以在其中定义 Acrylic 画笔并将其添加到控件(本例中为 Grid)。您还需要确保检查 XamlCompositionBrushBase
是否存在,并在不存在的情况下进行回退。
if(Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.UI.Xaml.Media.XamlCompositionBrushBase"))
{
Windows.UI.Xaml.Media.AcrylicBrush myBrush = new
Windows.UI.Xaml.Media.AcrylicBrush();
myBrush.BackgroundSource =
Windows.UI.Xaml.Media.AcrylicBackgroundSource.HostBackdrop;
myBrush.TintColor = Color.FromArgb(255, 202, 24, 37);
myBrush.FallbackColor = Color.FromArgb(255, 202, 24, 37);
myBrush.TintOpacity = 0.6;
grid.Fill = myBrush;
}
else
{
SolidColorBrush myBrush = new SolidColorBrush(Color.FromArgb(255, 202, 24, 37));
grid.Fill = myBrush;
}
此代码直接取自 article你链接到,但它应该像在自定义渲染器中一样工作。
请注意,即使您让它正常工作,API 也可能会发生重大变化,您将不得不一次又一次地重新设计您的解决方案。
关于xamarin - 我们可以使用 Xamarin.Forms for UWP 进行流畅的设计吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45992066/