从 Xamarin.Forms 迁移后,样式和颜色在 .NET MAUI 中不起作用

问题描述 投票:0回答:1

我正在迁移 Xamarin.Forms 应用程序,并且 Xamarin.Forms 中使用的样式存在问题。当应用程序启动时,我有一个

Init()
函数,它合并所有资源字典,如下所示:

 private static void Init(ResourceDictionary resourceDictionary)
 {
     resourceDictionary.MergedDictionaries.Add(new LabelStyles());
     resourceDictionary.MergedDictionaries.Add(new FrameStyles());
     resourceDictionary.MergedDictionaries.Add(new ButtonStyles());
 }

我是否错过了构建操作或其他配置?目前,只有颜色和款式不起作用。我在输出中也没有看到任何错误。 还有人有类似问题吗

附注.NET MAUI 中的默认 Styles.xaml 和 Colors.xaml 正在运行,并且所有样式在 Xamarin.Forms 中都运行得很好。

更新:颜色问题与 System.Drawing.Color 类型有关。创建了一个转换器,该部分已修复。但样式还是有问题。

c# .net xamarin xamarin.forms maui
1个回答
0
投票

api

System.Drawing.Colors
可以在Maui中使用,但不能将其设置为maui控件的颜色属性。

正如Cfun所说:maui控件的颜色属性是

Microsoft.Maui.Graphics.Color
类型。如果您将值设置为
System.Drawing.Colors
,您将收到有关类型无法转换的错误。

但是你可以将

System.Drawing.Colors
转换为
Microsoft.Maui.Graphics.Color
,例如:

public Microsoft.Maui.Graphics.Color ConvertColor(System.Drawing.Color color)
{
    return Microsoft.Maui.Graphics.Color.FromRgb(color.R, color.G, color.B);
}

另外,我建议你直接使用

Microsoft.Maui.Graphics.Color
并将ResourceDictionary合并到app.xaml中,或者直接将样式添加到默认的Styles.xaml中。

© www.soinside.com 2019 - 2024. All rights reserved.