Sharpnado Tabs首个Tab无显示:DelayedView内布局改Grid引发
问题:TabSwitcher中首个DelayedView改用Grid布局后无内容显示,后续标签页正常
在TabSwitcher中使用DelayedView组件,将DelayedView内部的布局从FlexLayout修改为Grid后,第一个Tab完全无法显示内容;但切换至后续标签页时,同类型的新DelayedView对象却能正常展示内容,且无异常抛出或Logcat日志输出。
重现步骤
TabViewSwitcher代码:
<tabs:ViewSwitcher x:Name="Switcher" Animate="True" SelectedIndex="{Binding SelectedViewModelIndex, Mode=TwoWay}"> <tabs:DelayedView x:TypeArguments="contentViews:LobiPageView" AccentColor="White" BindingContext="{Binding Page1ViewModel}" Animate="True" UseActivityIndicator="True" /> <tabs:DelayedView x:TypeArguments="contentViews:LobiPageView" BindingContext="{Binding Page2ViewModel}" AccentColor="{StaticResource Primary}" Animate="True" UseActivityIndicator="True" /> <tabs:DelayedView x:TypeArguments="contentViews:LobiPageView" BindingContext="{Binding Page3ViewModel}" AccentColor="{StaticResource Primary}" Animate="True" UseActivityIndicator="True" /> <tabs:DelayedView x:TypeArguments="contentViews:LobiPageView" BindingContext="{Binding Page4ViewModel}" AccentColor="{StaticResource Primary}" Animate="True" UseActivityIndicator="True" /> <tabs:DelayedView x:TypeArguments="contentViews:LobiPageView" BindingContext="{Binding Page5ViewModel}" AccentColor="{StaticResource Primary}" Animate="True" UseActivityIndicator="True" /> </tabs:ViewSwitcher>
DelayedView ContentView代码:
<StackLayout> <Grid BindableLayout.ItemsSource="{Binding PageItems}" > <Grid.RowDefinitions> <RowDefinition></RowDefinition> <RowDefinition></RowDefinition> <RowDefinition></RowDefinition> <RowDefinition></RowDefinition> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition></ColumnDefinition> <ColumnDefinition></ColumnDefinition> <ColumnDefinition></ColumnDefinition> <ColumnDefinition></ColumnDefinition> <ColumnDefinition></ColumnDefinition> </Grid.ColumnDefinitions> <BindableLayout.ItemTemplate> <DataTemplate> .... </DataTemplate> </Grid> </stackLayout>
截图说明
第一个Tab无内容显示:

第二个同类型Tab正常显示内容:

内容的提问来源于stack exchange,提问作者Cruik
相关产品推荐
相关产品推荐

