.NET MAUI中Frame控件无法显示内部内容的问题及解决
.NET MAUI中Frame内控件无法显示的问题及解决办法
问题现象
使用<Frame>包裹<Label>与<Entry>控件时,内部控件无法正常显示,调整Padding和HeightRequest属性后问题仍未解决。
原代码示例
<VerticalStackLayout Spacing="10" Margin="10,10,10,0"> <Frame Padding="0" HeightRequest="60"> <HorizontalStackLayout> <Label Text="Name" VerticalOptions="Center" WidthRequest="50"></Label> <Entry VerticalOptions="Center" HeightRequest="10" WidthRequest="200"> </Entry> </HorizontalStackLayout> </Frame> </VerticalStackLayout>
解决方法
将<Frame>替换为<Border>控件,内部控件即可正常渲染,修改后的代码如下:
<VerticalStackLayout Spacing="10" Margin="10,10,10,0"> <Border Padding="0" HeightRequest="60"> <HorizontalStackLayout> <Label Text="Name" VerticalOptions="Center" WidthRequest="50"></Label> <Entry VerticalOptions="Center" HeightRequest="10" WidthRequest="200"> </Entry> </HorizontalStackLayout> </Border> </VerticalStackLayout>
原因说明
Frame类源自Xamarin.Forms,在.NET MAUI中仅作为迁移兼容控件存在;新建.NET MAUI项目官方推荐使用Border控件,可通过VisualElement的Shadow属性实现阴影效果。
——Xamarin MVP Jason
内容的提问来源于stack exchange,提问作者naufalafels
相关产品推荐
相关产品推荐

