xamarin - 我们可以使用 Xamarin.Forms for UWP 进行流畅的设计吗?

标签 xamarin uwp xamarin.forms win-universal-app

我们能否通过 Xamarin.Forms 在 Windows 10 UWP 应用程序中获得流畅的设计? https://learn.microsoft.com/en-us/windows/uwp/style/acrylic

最佳答案

Jason 在技术上是正确的,因为该功能尚未公开发布。但是,如果你在 Windows Insider Preview 计划中,你应该已经可以尝试了。这就是您所需要的:

  1. 最新版本的 Visual Studio(2017,15.3)
  2. 最新的 Windows 10 Insider Preview SDK(可能是 16267)
  3. .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/

相关文章:

c# - UWP : Print with out Printer Popup Dialoag

windows-phone-8 - await DisplayActionSheet(...) 立即返回 null

c# - 在 ScrollViewer UWP 内通过触摸拖动形状

xaml - UWP C++ 中的通用工具栏

android - Android : Xamarin Forms 中选项卡式页面的自定义渲染器

xamarin - 在 xamarin Forms 中绑定(bind) listView 的 Itemsource 外部的数据

c# - Xamarin iOS 控制事件创建重复项

ios - 如何从 GetCell 方法 UICollectionView 跳过单元格/不返回单元格

ios - Xamarin.iOS New Project (Single View, Master-Detail) 在模拟器上崩溃,在设备上工作

xaml - Xamarin(框架。)GestureRecognizers 不起作用