我正在CardViewTemplate.xaml
中使用名为ListView
的内容视图页面来呈现一些包含两个框架的内容,其中一个框架应该是可见的而另一个框架不是同时显示的。
<ContentView xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
...>
<Frame IsVisible="{Binding IsNotBreak}" IsClippedToBounds="True">
.... content ....
</Frame>
<Frame IsVisible="{Binding IsBreak}" IsClippedToBounds="True">
--content 2-
</Frame>
</ContentView>
和列表视图中使用的上面的页面将一些数据绑定并查看到listview,如下面的代码:
<ListView x:Name="listView" SelectedItem="{Binding SelcetedItem,Mode=TwoWay}"
RowHeight="-1"
ItemsSource="{Binding SelectedCard}" HasUnevenRows="True" >
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Custom:CardViewTemplate/>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
出乎意料的是,我的列表视图仅显示第二帧,它看起来像附加图像:
答案 0 :(得分:0)
这是因为ContentView
应该只有一个孩子,第二个Frame
会覆盖第一个Frame
。
尝试添加AbsoluteLayout
或Grid
之类的视图容器来保存ContentView
内的两个框架:
<ContentView xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
...>
<AbsoluteLayout>
<Frame IsVisible="{Binding IsNotBreak}" IsClippedToBounds="True">
.... content ....
</Frame>
<Frame IsVisible="{Binding IsBreak}" IsClippedToBounds="True">
--content 2-
</Frame>
</AbsoluteLayout>
</ContentView>