Xamarin Forms Shell 多列浮出控件
Xamarin Forms Shell Flyout with multiple columns
我的业务需求是构建一个包含多列的弹出式菜单。菜单将具有所有基本的弹出行为,它必须在左侧有一个狭窄的静态列,其中有 3 个按钮,然后在它旁边有常规的可滚动弹出菜单。此时是否可以在 xamarin forms shell 中为弹出窗口做一个完全自定义的布局?
您可以使用 FlyoutContentTemplate
来做到这一点。
<Shell.FlyoutContentTemplate>
<DataTemplate>
<StackLayout Orientation="Horizontal">
<StackLayout BackgroundColor="Purple">
<Button Text="home" />
<Button Text="dash" />
<Button Text="chat" />
</StackLayout>
<CollectionView
BindingContext="{x:Reference shell}"
IsGrouped="True"
ItemsSource="{Binding FlyoutItems}">
<CollectionView.ItemTemplate>
<DataTemplate>
<Label
FontSize="Large"
Text="{Binding Title}"
TextColor="Black" />
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</StackLayout>
</DataTemplate>
</Shell.FlyoutContentTemplate>
我的业务需求是构建一个包含多列的弹出式菜单。菜单将具有所有基本的弹出行为,它必须在左侧有一个狭窄的静态列,其中有 3 个按钮,然后在它旁边有常规的可滚动弹出菜单。此时是否可以在 xamarin forms shell 中为弹出窗口做一个完全自定义的布局?
您可以使用 FlyoutContentTemplate
来做到这一点。
<Shell.FlyoutContentTemplate>
<DataTemplate>
<StackLayout Orientation="Horizontal">
<StackLayout BackgroundColor="Purple">
<Button Text="home" />
<Button Text="dash" />
<Button Text="chat" />
</StackLayout>
<CollectionView
BindingContext="{x:Reference shell}"
IsGrouped="True"
ItemsSource="{Binding FlyoutItems}">
<CollectionView.ItemTemplate>
<DataTemplate>
<Label
FontSize="Large"
Text="{Binding Title}"
TextColor="Black" />
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</StackLayout>
</DataTemplate>
</Shell.FlyoutContentTemplate>