c# – Xamarin.Form问题的流畅设计
发布时间:2020-12-15 22:54:55 所属栏目:百科 来源:网络整理
导读:我正在努力让Fluent Design在我的Xamarin.Forms UWP App上运行.我尝试过使用渲染器,覆盖样式的不同方法,但它们都不起作用. 丙烯酸刷子总是回落到FallbackColor. 建立: 目标版本:Windows 10(1803) 最低版本:Windows 10 Fall Creators Update(16299). 而且
我正在努力让Fluent Design在我的Xamarin.Forms UWP App上运行.我尝试过使用渲染器,覆盖样式的不同方法,但它们都不起作用.
丙烯酸刷子总是回落到FallbackColor. 建立: 目标版本:Windows 10(1803) 而且我也在检查 Windows.Foundation.Metadata.ApiInformation.IsTypePresent(“Windows.UI.Xaml.Media.AcrylicBrush”)可用. 使用任何预定义的丙烯酸笔刷会导致“找不到具有名称/密钥SystemControlChromeLowAcrylicWindowBrush的资源”. AcrylicBrush& Splitview风格: <media:AcrylicBrush x:Key="HostBackdropBrush" BackgroundSource="HostBackdrop" TintColor="White" TintOpacity="0.4" FallbackColor="WhiteSmoke" /> <Style TargetType="SplitView"> <Setter Property="HorizontalContentAlignment" Value="Stretch"/> <Setter Property="VerticalContentAlignment" Value="Stretch"/> <Setter Property="OpenPaneLength" Value="{ThemeResource SplitViewOpenPaneThemeLength}"/> <Setter Property="CompactPaneLength" Value="{ThemeResource SplitViewCompactPaneThemeLength}"/> <Setter Property="PaneBackground" Value="{StaticResource HostBackdropBrush}"/> </Style> 自定义渲染器: [assembly: ExportRenderer(typeof(MasterPage),typeof(MasterPageRenderer))] namespace MasterDetailPageNavigation.UWP { class MasterPageRenderer : PageRenderer { protected override void OnElementChanged(ElementChangedEventArgs<Page> e) { base.OnElementChanged(e); if (e.OldElement != null || Element == null) { return; } try { 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 = Windows.UI.Color.FromArgb(255,200,200); myBrush.TintOpacity = 0.2; Background = myBrush; } else { SolidColorBrush myBrush = new SolidColorBrush(Windows.UI.Color.FromArgb(255,240,240)); Background = myBrush; } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex); } } protected override Windows.Foundation.Size ArrangeOverride(Windows.Foundation.Size finalSize) { return base.ArrangeOverride(finalSize); } } } ``` 解决方法
请看下面的项目:
这应该可以解决您的问题.您可以通过将ThemeResources.xaml添加到项目资源来解决此问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |