Xaml xamarin表单:同一页面中的视图和列表视图

Xaml xamarin表单:同一页面中的视图和列表视图,xaml,xamarin,xamarin.forms,Xaml,Xamarin,Xamarin.forms,在我的xamarin表单页面中,我希望在同一页面上显示图表(同步融合)和列表视图。可能吗 <ScrollView> <StackLayout> <chart:SfChart x:Name="Chart" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"> <chart:SfChart.BindingContext> <

在我的xamarin表单页面中,我希望在同一页面上显示图表(同步融合)和列表视图。可能吗

<ScrollView>
    <StackLayout>

        <chart:SfChart x:Name="Chart" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
    <chart:SfChart.BindingContext>
      <local:ReportPageViewModel/>
    </chart:SfChart.BindingContext>

    <chart:SfChart.Legend>
      <chart:ChartLegend />
    </chart:SfChart.Legend>

    <chart:SfChart.Title>
      <chart:ChartTitle Text="Chart"/>
    </chart:SfChart.Title>

   <chart:SfChart.PrimaryAxis>
      <chart:CategoryAxis LabelRotationAngle="-45" >
        <chart:CategoryAxis.Title>
          <chart:ChartAxisTitle Text="Name"/>
        </chart:CategoryAxis.Title>
      </chart:CategoryAxis>
    </chart:SfChart.PrimaryAxis>

     <chart:SfChart.SecondaryAxis>
      <chart:NumericalAxis>
        <chart:NumericalAxis.Title>
          <chart:ChartAxisTitle Text="Height (in cm)"/>
        </chart:NumericalAxis.Title>
      </chart:NumericalAxis>
    </chart:SfChart.SecondaryAxis>

   <chart:SfChart.Series>
      <chart:ColumnSeries ItemsSource="{Binding Data}" Label="Heights" XBindingPath="Name" YBindingPath="Height" EnableTooltip="True">
        <chart:ColumnSeries.DataMarker>
          <chart:ChartDataMarker/>
        </chart:ColumnSeries.DataMarker>
      </chart:ColumnSeries>
    </chart:SfChart.Series>
  </chart:SfChart>
    <ListView>
    <ListView.ItemsSource>
        <x:Array Type="{x:Type Cell}">
            <EntryCell Text="{Binding Phone}" />
            <EntryCell Text="{Binding Code}" />
            <TextCell Text="LOGIN" Command="{Binding Login}"/>
        </x:Array>
    </ListView.ItemsSource>
  </ListView>
            </StackLayout>
    </ScrollView>


这将导致仅显示列表视图,而不显示图表。是否可以将列表视图与其他视图一起使用?

正如Jason所述,在列表视图周围使用滚动视图不是最佳方法,因为它可能会导致许多滚动问题,因为列表视图有自己的滚动机制

一种方法是将图表放在ListView标题中

// Add this to your page
x:Name="this"

// Use the HeaderTemplate
<ListView x:Name="listView" Header="{Binding this.BindingContext}">
   <ListView.HeaderTemplate>
     <DataTemplate>
        ...
     </DataTemplate>
  </ListView.HeaderTemplate>     
  <ListView.ItemTemplate>
    <DataTemplate>
     ...
    </DataTemplate>
  </ListView.ItemTemplate>
</ListView>
//将其添加到您的页面
x:Name=“这个”
//使用HeaderTemplate
...
...

我今天遇到了同样的问题,我正在寻找一个解决方案

我希望在我的图表上方有一个选择器,并将元素放入网格中,这是下一种解决方案:

 <ScrollView>
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>
            <Picker x:Name="Picker" Grid.Row="0"/>

             <chart:SfChart Grid.Row="1" >
               My chart...
             </chart:SfChart>
       </Grid>
 </ScrollView>

我的图表。。。
它看起来像下面的图片

使用选择器


是的,这是可能的,但我认为不应该在ScrollView中嵌套ListView。您可能应该在ListView上设置一个显式的HeightRequest值“this”是什么?对于我的当前页面,如何在列表视图上添加图表?“此”刚刚添加到您的页面,例如。