xamarin形式的可扩展树视图

时间:2019-12-30 05:22:02

标签: c# xaml xamarin xamarin.forms

我想在android中制作可扩展树状视图,如屏幕下方所示 Expandable List View。 我已经尝试过了,但是我想要解释。 希望能得到更好的解决方案。

谢谢。

3 个答案:

答案 0 :(得分:1)

Xamarin当前有一个PR来包含此内容(请参见here

目前,您可以使用ExpandableView NuGet,这很简单:

<expandable:ExpandableView>
    <expandable:ExpandableView.PrimaryView>
        //{YOUR MAIN VIEW HERE}
    </expandable:ExpandableView.PrimaryView>
    <expandable:ExpandableView.SecondaryViewTemplate>
        <DataTemplate>
            //{YOUR DROP-DOWN MENU TEMPLATE HERE} you can use DataTemplateSelector too
        </DataTemplate>
    </expandable:ExpandableView.SecondaryViewTemplate>
</expandable:ExpandableView>

答案 1 :(得分:1)

您可以使用 Xamarin 社区工具包包:

 xmlns:xct="http://xamarin.com/schemas/2020/toolkit"

您可以定义标题、嵌套多个扩展器、将视图定义为内容或使用数据模板、定义动画(ExpandAnimationEasingCollapseAnimationEasing)...

<xct:Expander IsEnabled="{Binding IsEnabled}" ExpandAnimationEasing="{x:Static Easing.CubicIn}"
                                             CollapseAnimationEasing="{x:Static Easing.CubicOut}">
    <xct:Expander.Header>
        <Label Text="Nested expander" FontSize="30" FontAttributes="Bold"/>
    </xct:Expander.Header>
    <xct:Expander.ContentTemplate>
        <DataTemplate>
            <StackLayout Spacing="0" Margin="10" Padding="1" BackgroundColor="Black">
                <BoxView HeightRequest="50" Color="White" />
                <BoxView HeightRequest="50" Color="Red" />
                <BoxView HeightRequest="50" Color="White" />
            </StackLayout>
        </DataTemplate>
    </xct:Expander.ContentTemplate>
</xct:Expander>

文档中的注释

<块引用>

Expander 控件在 ListView 或 CollectionView 中使用时会显示不需要的行为。目前,我们建议不要在这些控件之一中使用扩展器。

资源

Nuget:https://www.nuget.org/packages/Xamarin.CommunityToolkit

文档:https://docs.microsoft.com/en-us/xamarin/community-toolkit/views/expander

回购:https://github.com/xamarin/XamarinCommunityToolkit

答案 2 :(得分:-1)

请参阅GitHub存储库。 Xamarin-Forms-TreeView。这将有助于您找到解决方案。

同样在问题下方

Xamarin forms tree view