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

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

Trax 2月前

52 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)
  • 已解决: 我设法使用以下数据模板检测这两个命令:

    <StackLayout>
      <Grid>
        <Grid TouchEffect.Command="{Binding SelectedItemCommand}"
                                 TouchEffect.CommandParameter="{Binding .}" /> 
        <Grid>
             <Button Command={Binding OnCreateCommand} CommandParameter={Binding .} />
        </Gri>
      </Grid>
    </StackLayout>
    

    因为 Grid 内容可以叠加,虽然性能不是很好,但是还是可以的。

返回
作者最近主题: