8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

类型为 x:Double 的 OnPlatform 控件无法作为字体大小访问

Trax 2月前

49 0

我在主 Styles.xaml 中定义了 x:Double 类型的 OnPlatform 样式,我想使用它来定义每个平台的不同字体大小。问题是当我想通过特定...

我在主 Styles.xaml 中定义了一种 OnPlatform type 样式 x:Double ,我想用它来定义每个平台的不同字体大小。问题是当我想通过指定标签的字体大小调用资源时, x:Key 标签的字体大小不会改变。

我的 Styles.xaml 文件:

<ResourceDictionary 
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:controls="clr-namespace:ClientApp.Source.Controls"
    xmlns:views="clr-namespace:ClientApp.Source.Views">

    <OnPlatform x:Key="TinyFontSize" x:TypeArguments="x:Double">
        <On Platform="Default" Value="12" />
    </OnPlatform>
...

ContentPage 我创建了以下标签:

...
<Label FontSize="{StaticResource TinyFontSize}" Text="Test" WidthRequest="200"/>
...

但是标签的字体大小不会变为 12 号,只有当我 {StaticResource TinyFontSize} 用数字值替换时才会变为 12 号。

当我在 Styles.xaml 文件中创建以下资源时:

<x:Double x:Key="SmallFontSize">13</x:Double>

它可以正常工作,但是我无法从主 Styles.xaml 中根据操作系统更改值。

我在 Github 的 eShop 存储库中找到了示例: https://github.com/dotnet/eShop/blob/main/src/ClientApp/Views/CheckoutView.xaml .

但即使我签出这个项目并运行 ClientApp,它也不起作用......

使用:
净8.0
Microsoft.Maui.Controls(8.0.21)

帖子版权声明 1、本帖标题:类型为 x:Double 的 OnPlatform 控件无法作为字体大小访问
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Trax在本站《xaml》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 官方文档指出, OnPlatform 类定义了一个 Default 属性,可以将其设置为一个将应用于所有平台的值 .

    但是我测试发现 <On Platform="Default"> ,在Android、iOS、Windows三个平台上设置字体大小也不起作用。你可以把这个问题发到 MAUI Github .

    当我设置代码: <On Platform="Andorid"> 和时 <On Platform="iOS"> ,我可以分别在Android平台和iOS平台上成功更改字体大小。

    因此,作为一种解决方法,如果您只是在 Android 和 iOS 平台上运行 MAUI 程序,则可以设计如下代码 styles.xaml

    <ResourceDictionary 
    ...>
    
    <OnPlatform x:Key="TinyFontSize" x:TypeArguments="x:Double">
        <On Platform="Android" Value="12" />
        <On Platform="iOS" Value="12" />
    </OnPlatform>
    ...
    
返回
作者最近主题: