【问题标题】:Xamarin OnIdiom and OnPlatform StaticResource For Margins用于边距的 Xamarin OnIdiom 和 OnPlatform StaticResource
【发布时间】:2021-08-10 22:55:45
【问题描述】:

我正在为标签设置样式,但 XAML 格式存在一些问题。我有以下代码,效果很好。

 <Style x:Key="LabelMargin" TargetType="Label">

             <Setter Property="Margin">
             <Setter.Value>
               <OnIdiom x:TypeArguments="Thickness">
                     <OnIdiom.Phone>5,5,0,0</OnIdiom.Phone>
                     <OnIdiom.Tablet>10,20,0,0</OnIdiom.Tablet>
                </OnIdiom>
           </Setter.Value>
         </Setter>
</Style>

不过,我希望现在能够更深入地了解操作系统级别。 我喜欢定位操作系统,而不仅仅是手机。

我找到了一些样本,但没有一个是用于边距的。 我想出了下面的 XAML,但它不起作用?

   <Style x:Key="LabelMargin" TargetType="Label">
     <Setter Property="Margin"  x:TypeArguments="Thickness" Value = "{OnIdiom 
         Phone= {OnPlatform iOS =5,5,0,0 , Android=5,5,0,0},
         Tablet= {OnPlatform iOS =5,5,0,0 , Android=5,5,0,0}}" >
   </Setter>
</Style>

任何帮助将不胜感激。

迈克

【问题讨论】:

    标签: xaml xamarin xamarin.forms


    【解决方案1】:

    经过一些试验和错误,我得到了它的工作。如果有人偶然发现了这个问题,那么我是如何开始工作的:

    <Setter Property="Margin"> 
                 <Setter.Value>
                     <OnIdiom x:TypeArguments="Thickness">
                       <OnIdiom.Phone>
                          <OnPlatform x:TypeArguments="Thickness" Android ="5,5,0,0" iOS ="5,5,0,0"  />
                       </OnIdiom.Phone>
                        <OnIdiom.Tablet>
                          <OnPlatform x:TypeArguments="Thickness" Android ="20,20,20,20" iOS ="20,20,20,20"  />
                       </OnIdiom.Tablet>
                    </OnIdiom>
               </Setter.Value>
           </Setter>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-25
      • 1970-01-01
      • 1970-01-01
      • 2017-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-09
      相关资源
      最近更新 更多