在样式中设置浮点值是否需要一些特殊的代码?

时间:2019-02-13 10:19:50

标签: xamarin xamarin.forms

我试图在样式使用的资源中为CornerRadius设置一个值,但无法使其正常工作。这是我的代码:

C#代码:

Current.Resources["FrameCornerRadius"] = "25";
followed by many other lines like this which all work okay

样式:

<Style x:Key="FrameBorder" TargetType="Frame">
    <!-- Following line does not give any corner radius  -->
    <Setter Property="CornerRadius" Value="{DynamicResource FrameCornerRadius}" />
    <!-- Following line gives corner radius  -->
    <!--<Setter Property="CornerRadius" Value="25" />-->
</Style>

Xaml

<Frame Style="{StaticResource FrameBorder}">
   <StackLayout Orientation="Vertical" Spacing="0">
      <xaml:ButtonXaml />
   </StackLayout>
</Frame>

当我用Value="{DynamicResource FrameCornerRadius}"设置它时,它不起作用。当我直接将样式设置为25时,它可以工作。请注意,我还有30个或更多其他Current.Resources都可以正常工作,所以我认为这不是问题。

供参考:

https://github.com/xamarin/Xamarin.Forms/blob/master/Xamarin.Forms.Core/Frame.cs

公众持票人CornerRadius {get;组; } <<来自规格

1 个答案:

答案 0 :(得分:1)

该错误与定义资源类似:

Current.Resources["FrameCornerRadius"] = 25;

好运