Xamarin 形成具有半径和背景颜色的网格

Posted

技术标签:

【中文标题】Xamarin 形成具有半径和背景颜色的网格【英文标题】:Xamarin forms Grid with radius and background color 【发布时间】:2018-04-10 21:18:20 【问题描述】:

我正在使用 xamarin 表单为 UWP 开发应用程序。

我需要创建一个这样的屏幕

对于 UWP 但我不知道如何使用 Radius 和 backgrondcolor 的网格。

我尝试使用框架,但是当我添加 BackgroundColor 属性时,Radius 消失了。

我尝试使用 https://github.com/paulpatarinski/Xamarin.Forms.Plugins/tree/master/RoundedBoxView,但不适用于 UWP。

非常感谢

更新:解决方案

我找到了解决方案。为 UWP 制作 Frame 的自定义渲染。

这是代码:https://github.com/migueBarrera/XamarinRoundedFrame 和最终图像

【问题讨论】:

使用框架并将背景颜色设置为网格而不是框架 @ZiyadGodil 我尝试但这是结果:imgur.com/bVvbGHd 【参考方案1】:

您应该尝试使用 Frame 而不是 boxview,如果您想使用网格,则必须为网格制作自定义渲染器。

【讨论】:

【参考方案2】:

Frame 似乎运行良好,至少在 android 上是这样。

这是我的 XAML

<Frame BackgroundColor="LawnGreen" 
        CornerRadius="25"
        VerticalOptions="StartAndExpand"
        Margin="20">
    <StackLayout>
        <Label Text="Entry"/>
        <Label Text="Entry"/>
        <Label Text="Entry"/>
        <Button Text="Entrar" Margin="10, 30, 10, 20"></Button>
    </StackLayout>
</Frame>

这是页面

【讨论】:

我复制了你的代码,这是 UWP 中的结果:imgur.com/bVvbGHd。半径消失。 @MiguelAngelMuñoz 将Frame 替换为BoxView。我猜CornerRadius 属性类似于BorderRadius @DiegoRafaelSouza 我尝试使用 BoxView,但找不到任何属性,例如 BorderRadius 或 CornerRadius 对不起,我的错。 BorderRadius 属性属于 Button 视图。检查基于自定义渲染器的实现 like this 是否可以为您解决问题(这些示例显示了 Android 和 ios 的实现,但不是 UWP)

以上是关于Xamarin 形成具有半径和背景颜色的网格的主要内容,如果未能解决你的问题,请参考以下文章

边框半径后面的HTML背景颜色

选中时更改 UICollectionView 单元格的背景和标签颜色

设置列表视图项模板的背景颜色和列表背景颜色时,Xamarin Forms Listview 选定项背景颜色丢失

如何在 Xamarin 表格 pcl 的网格中插入背景图像

边框半径 + 背景颜色 == 裁剪边框

Xamarin 背景颜色属性