Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Xamarin跨平台xaml中添加分级栏_C#_.net_Xaml_Xamarin_Xamarin.forms - Fatal编程技术网

C# 如何在Xamarin跨平台xaml中添加分级栏

C# 如何在Xamarin跨平台xaml中添加分级栏,c#,.net,xaml,xamarin,xamarin.forms,C#,.net,Xaml,Xamarin,Xamarin.forms,我想在xamarin portable类中添加评级栏。我已经找了很多,而且 使用syncfusion分级栏,但没有进展。我使用过nuget第三方工具。但评级栏不显示。我想使用像syncfusion这样的内置工具 并显示分级 <ListView CachingStrategy="RecycleElement" SeparatorColor="Transparent" HasUnevenRows="True" x:Name="listVi

我想在xamarin portable类中添加评级栏。我已经找了很多,而且 使用syncfusion分级栏,但没有进展。我使用过nuget第三方工具。但评级栏不显示。我想使用像syncfusion这样的内置工具 并显示分级

<ListView
       CachingStrategy="RecycleElement"
       SeparatorColor="Transparent"
       HasUnevenRows="True"
       x:Name="listView">
  <ListView.ItemTemplate>
    <DataTemplate>
      <ViewCell>
        <Grid x:Name="LayoutRoot">
         Rating bar I had used
           <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
          </Grid.ColumnDefinitions>
          <Grid.RowDefinitions>
            <RowDefinition Height="300"/>
          </Grid.RowDefinitions>
          <BoxView BackgroundColor="#700AB9" />

          <Image  Source="{Binding DefaultImageUrl}" HeightRequest="500" >
          </Image>
         <StackLayout>
            <Image Source="hrtgray.png" HeightRequest="20"  Margin="0,10,350,0" WidthRequest="20" />

            <Label Margin="40,-25,0,100" Text="{Binding Favourite}" FontSize="Small" TextColor="#ffffff"/>

            <Label Margin="20,0,0,0" Text="{Binding CategoryName}" TextColor="#ffffff" FontSize="Small"/>
            <Label Margin="20,0,0,0" Text="{Binding Headline}" TextColor="#ffffff" FontSize="Large"/>
            <Label Margin="100,0,0,10" Text="{Binding UserRated}" TextColor="#ffffff" FontSize="Small"/>
            <Image Source="map.png" HeightRequest="15"  Margin="0,30,0,0" WidthRequest="15" />
            <Label Margin="0,-25,0,100" Text="{Binding Miles}" TextColor="#ffffff" FontSize="Small"/>

          </StackLayout>

         <rating:SfRating x:Name="rating" ItemCount="3" />


          <!--<Grid>
            <Grid.ColumnDefinitions>
              <ColumnDefinition Width="50"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
              <RowDefinition Height="5"/>
            </Grid.RowDefinitions>
            <Label Text="{Binding Headline}" TextColor="#FFFFFF"/>
          </Grid>-->

          <!--<Image Grid.Row="2" Source="hrtgray"/>
          <Label Grid.Row="4" Text="{Binding Exclusive}" TextColor="#FFFFFF"/>
          <Label Text="{Binding CategoryName}" TextColor="#FFFFFF"/>
          <Label Text="{Binding UserRated}" TextColor="#FFFFFF"/>
          <Label Text="{Binding AverageRated}" TextColor="#FFFFFF"/>
          <Label Text="{Binding Favourite}" TextColor="#FFFFFF"/>
          <Label Text="{Binding Miles}" TextColor="#FFFFFF"/>-->
        </Grid>
      </ViewCell>
    </DataTemplate>
  </ListView.ItemTemplate>
</ListView>

</ContentPage.Content>
我的代码

   <?xml version="1.0" encoding="utf-8" ?>
   <ContentPage
   xmlns="http://xamarin.com/schemas/2014/forms"
   xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
   x:Class="MyVoucherSpy.Portable.Views.AboutPage"
   xmlns:rating="clr-        namespace:Syncfusion.SfRating.XForms;assembly=Syncfusion.SfRating.XForms"
>
<ListView
       CachingStrategy="RecycleElement"
       SeparatorColor="Transparent"
       HasUnevenRows="True"
       x:Name="listView">
  <ListView.ItemTemplate>
    <DataTemplate>
      <ViewCell>
        <Grid x:Name="LayoutRoot">
         Rating bar I had used
           <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
          </Grid.ColumnDefinitions>
          <Grid.RowDefinitions>
            <RowDefinition Height="300"/>
          </Grid.RowDefinitions>
          <BoxView BackgroundColor="#700AB9" />

          <Image  Source="{Binding DefaultImageUrl}" HeightRequest="500" >
          </Image>
         <StackLayout>
            <Image Source="hrtgray.png" HeightRequest="20"  Margin="0,10,350,0" WidthRequest="20" />

            <Label Margin="40,-25,0,100" Text="{Binding Favourite}" FontSize="Small" TextColor="#ffffff"/>

            <Label Margin="20,0,0,0" Text="{Binding CategoryName}" TextColor="#ffffff" FontSize="Small"/>
            <Label Margin="20,0,0,0" Text="{Binding Headline}" TextColor="#ffffff" FontSize="Large"/>
            <Label Margin="100,0,0,10" Text="{Binding UserRated}" TextColor="#ffffff" FontSize="Small"/>
            <Image Source="map.png" HeightRequest="15"  Margin="0,30,0,0" WidthRequest="15" />
            <Label Margin="0,-25,0,100" Text="{Binding Miles}" TextColor="#ffffff" FontSize="Small"/>

          </StackLayout>

         <rating:SfRating x:Name="rating" ItemCount="3" />


          <!--<Grid>
            <Grid.ColumnDefinitions>
              <ColumnDefinition Width="50"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
              <RowDefinition Height="5"/>
            </Grid.RowDefinitions>
            <Label Text="{Binding Headline}" TextColor="#FFFFFF"/>
          </Grid>-->

          <!--<Image Grid.Row="2" Source="hrtgray"/>
          <Label Grid.Row="4" Text="{Binding Exclusive}" TextColor="#FFFFFF"/>
          <Label Text="{Binding CategoryName}" TextColor="#FFFFFF"/>
          <Label Text="{Binding UserRated}" TextColor="#FFFFFF"/>
          <Label Text="{Binding AverageRated}" TextColor="#FFFFFF"/>
          <Label Text="{Binding Favourite}" TextColor="#FFFFFF"/>
          <Label Text="{Binding Miles}" TextColor="#FFFFFF"/>-->
        </Grid>
      </ViewCell>
    </DataTemplate>
  </ListView.ItemTemplate>
</ListView>

</ContentPage.Content>

<ListView
       CachingStrategy="RecycleElement"
       SeparatorColor="Transparent"
       HasUnevenRows="True"
       x:Name="listView">
  <ListView.ItemTemplate>
    <DataTemplate>
      <ViewCell>
        <Grid x:Name="LayoutRoot">
         Rating bar I had used
           <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
          </Grid.ColumnDefinitions>
          <Grid.RowDefinitions>
            <RowDefinition Height="300"/>
          </Grid.RowDefinitions>
          <BoxView BackgroundColor="#700AB9" />

          <Image  Source="{Binding DefaultImageUrl}" HeightRequest="500" >
          </Image>
         <StackLayout>
            <Image Source="hrtgray.png" HeightRequest="20"  Margin="0,10,350,0" WidthRequest="20" />

            <Label Margin="40,-25,0,100" Text="{Binding Favourite}" FontSize="Small" TextColor="#ffffff"/>

            <Label Margin="20,0,0,0" Text="{Binding CategoryName}" TextColor="#ffffff" FontSize="Small"/>
            <Label Margin="20,0,0,0" Text="{Binding Headline}" TextColor="#ffffff" FontSize="Large"/>
            <Label Margin="100,0,0,10" Text="{Binding UserRated}" TextColor="#ffffff" FontSize="Small"/>
            <Image Source="map.png" HeightRequest="15"  Margin="0,30,0,0" WidthRequest="15" />
            <Label Margin="0,-25,0,100" Text="{Binding Miles}" TextColor="#ffffff" FontSize="Small"/>

          </StackLayout>

         <rating:SfRating x:Name="rating" ItemCount="3" />


          <!--<Grid>
            <Grid.ColumnDefinitions>
              <ColumnDefinition Width="50"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
              <RowDefinition Height="5"/>
            </Grid.RowDefinitions>
            <Label Text="{Binding Headline}" TextColor="#FFFFFF"/>
          </Grid>-->

          <!--<Image Grid.Row="2" Source="hrtgray"/>
          <Label Grid.Row="4" Text="{Binding Exclusive}" TextColor="#FFFFFF"/>
          <Label Text="{Binding CategoryName}" TextColor="#FFFFFF"/>
          <Label Text="{Binding UserRated}" TextColor="#FFFFFF"/>
          <Label Text="{Binding AverageRated}" TextColor="#FFFFFF"/>
          <Label Text="{Binding Favourite}" TextColor="#FFFFFF"/>
          <Label Text="{Binding Miles}" TextColor="#FFFFFF"/>-->
        </Grid>
      </ViewCell>
    </DataTemplate>
  </ListView.ItemTemplate>
</ListView>

</ContentPage.Content>

我用过的评级条

我们福音派团队的Nish在博客上发表了一篇文章,讨论了在Xamarin.Forms中创建评级控件的问题

<ListView
       CachingStrategy="RecycleElement"
       SeparatorColor="Transparent"
       HasUnevenRows="True"
       x:Name="listView">
  <ListView.ItemTemplate>
    <DataTemplate>
      <ViewCell>
        <Grid x:Name="LayoutRoot">
         Rating bar I had used
           <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
          </Grid.ColumnDefinitions>
          <Grid.RowDefinitions>
            <RowDefinition Height="300"/>
          </Grid.RowDefinitions>
          <BoxView BackgroundColor="#700AB9" />

          <Image  Source="{Binding DefaultImageUrl}" HeightRequest="500" >
          </Image>
         <StackLayout>
            <Image Source="hrtgray.png" HeightRequest="20"  Margin="0,10,350,0" WidthRequest="20" />

            <Label Margin="40,-25,0,100" Text="{Binding Favourite}" FontSize="Small" TextColor="#ffffff"/>

            <Label Margin="20,0,0,0" Text="{Binding CategoryName}" TextColor="#ffffff" FontSize="Small"/>
            <Label Margin="20,0,0,0" Text="{Binding Headline}" TextColor="#ffffff" FontSize="Large"/>
            <Label Margin="100,0,0,10" Text="{Binding UserRated}" TextColor="#ffffff" FontSize="Small"/>
            <Image Source="map.png" HeightRequest="15"  Margin="0,30,0,0" WidthRequest="15" />
            <Label Margin="0,-25,0,100" Text="{Binding Miles}" TextColor="#ffffff" FontSize="Small"/>

          </StackLayout>

         <rating:SfRating x:Name="rating" ItemCount="3" />


          <!--<Grid>
            <Grid.ColumnDefinitions>
              <ColumnDefinition Width="50"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
              <RowDefinition Height="5"/>
            </Grid.RowDefinitions>
            <Label Text="{Binding Headline}" TextColor="#FFFFFF"/>
          </Grid>-->

          <!--<Image Grid.Row="2" Source="hrtgray"/>
          <Label Grid.Row="4" Text="{Binding Exclusive}" TextColor="#FFFFFF"/>
          <Label Text="{Binding CategoryName}" TextColor="#FFFFFF"/>
          <Label Text="{Binding UserRated}" TextColor="#FFFFFF"/>
          <Label Text="{Binding AverageRated}" TextColor="#FFFFFF"/>
          <Label Text="{Binding Favourite}" TextColor="#FFFFFF"/>
          <Label Text="{Binding Miles}" TextColor="#FFFFFF"/>-->
        </Grid>
      </ViewCell>
    </DataTemplate>
  </ListView.ItemTemplate>
</ListView>

</ContentPage.Content>

你可以在这里找到来源并阅读更多信息:

你可以参考以下博客

<ListView
       CachingStrategy="RecycleElement"
       SeparatorColor="Transparent"
       HasUnevenRows="True"
       x:Name="listView">
  <ListView.ItemTemplate>
    <DataTemplate>
      <ViewCell>
        <Grid x:Name="LayoutRoot">
         Rating bar I had used
           <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
          </Grid.ColumnDefinitions>
          <Grid.RowDefinitions>
            <RowDefinition Height="300"/>
          </Grid.RowDefinitions>
          <BoxView BackgroundColor="#700AB9" />

          <Image  Source="{Binding DefaultImageUrl}" HeightRequest="500" >
          </Image>
         <StackLayout>
            <Image Source="hrtgray.png" HeightRequest="20"  Margin="0,10,350,0" WidthRequest="20" />

            <Label Margin="40,-25,0,100" Text="{Binding Favourite}" FontSize="Small" TextColor="#ffffff"/>

            <Label Margin="20,0,0,0" Text="{Binding CategoryName}" TextColor="#ffffff" FontSize="Small"/>
            <Label Margin="20,0,0,0" Text="{Binding Headline}" TextColor="#ffffff" FontSize="Large"/>
            <Label Margin="100,0,0,10" Text="{Binding UserRated}" TextColor="#ffffff" FontSize="Small"/>
            <Image Source="map.png" HeightRequest="15"  Margin="0,30,0,0" WidthRequest="15" />
            <Label Margin="0,-25,0,100" Text="{Binding Miles}" TextColor="#ffffff" FontSize="Small"/>

          </StackLayout>

         <rating:SfRating x:Name="rating" ItemCount="3" />


          <!--<Grid>
            <Grid.ColumnDefinitions>
              <ColumnDefinition Width="50"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
              <RowDefinition Height="5"/>
            </Grid.RowDefinitions>
            <Label Text="{Binding Headline}" TextColor="#FFFFFF"/>
          </Grid>-->

          <!--<Image Grid.Row="2" Source="hrtgray"/>
          <Label Grid.Row="4" Text="{Binding Exclusive}" TextColor="#FFFFFF"/>
          <Label Text="{Binding CategoryName}" TextColor="#FFFFFF"/>
          <Label Text="{Binding UserRated}" TextColor="#FFFFFF"/>
          <Label Text="{Binding AverageRated}" TextColor="#FFFFFF"/>
          <Label Text="{Binding Favourite}" TextColor="#FFFFFF"/>
          <Label Text="{Binding Miles}" TextColor="#FFFFFF"/>-->
        </Grid>
      </ViewCell>
    </DataTemplate>
  </ListView.ItemTemplate>
</ListView>

</ContentPage.Content>
使用xamarin表单(自定义控件)创建分级栏的步骤

tonytrupp提供的解决方案似乎正在运行。这不是正确的解决方案,因为它不适用于axml
<ListView
       CachingStrategy="RecycleElement"
       SeparatorColor="Transparent"
       HasUnevenRows="True"
       x:Name="listView">
  <ListView.ItemTemplate>
    <DataTemplate>
      <ViewCell>
        <Grid x:Name="LayoutRoot">
         Rating bar I had used
           <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
          </Grid.ColumnDefinitions>
          <Grid.RowDefinitions>
            <RowDefinition Height="300"/>
          </Grid.RowDefinitions>
          <BoxView BackgroundColor="#700AB9" />

          <Image  Source="{Binding DefaultImageUrl}" HeightRequest="500" >
          </Image>
         <StackLayout>
            <Image Source="hrtgray.png" HeightRequest="20"  Margin="0,10,350,0" WidthRequest="20" />

            <Label Margin="40,-25,0,100" Text="{Binding Favourite}" FontSize="Small" TextColor="#ffffff"/>

            <Label Margin="20,0,0,0" Text="{Binding CategoryName}" TextColor="#ffffff" FontSize="Small"/>
            <Label Margin="20,0,0,0" Text="{Binding Headline}" TextColor="#ffffff" FontSize="Large"/>
            <Label Margin="100,0,0,10" Text="{Binding UserRated}" TextColor="#ffffff" FontSize="Small"/>
            <Image Source="map.png" HeightRequest="15"  Margin="0,30,0,0" WidthRequest="15" />
            <Label Margin="0,-25,0,100" Text="{Binding Miles}" TextColor="#ffffff" FontSize="Small"/>

          </StackLayout>

         <rating:SfRating x:Name="rating" ItemCount="3" />


          <!--<Grid>
            <Grid.ColumnDefinitions>
              <ColumnDefinition Width="50"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
              <RowDefinition Height="5"/>
            </Grid.RowDefinitions>
            <Label Text="{Binding Headline}" TextColor="#FFFFFF"/>
          </Grid>-->

          <!--<Image Grid.Row="2" Source="hrtgray"/>
          <Label Grid.Row="4" Text="{Binding Exclusive}" TextColor="#FFFFFF"/>
          <Label Text="{Binding CategoryName}" TextColor="#FFFFFF"/>
          <Label Text="{Binding UserRated}" TextColor="#FFFFFF"/>
          <Label Text="{Binding AverageRated}" TextColor="#FFFFFF"/>
          <Label Text="{Binding Favourite}" TextColor="#FFFFFF"/>
          <Label Text="{Binding Miles}" TextColor="#FFFFFF"/>-->
        </Grid>
      </ViewCell>
    </DataTemplate>
  </ListView.ItemTemplate>
</ListView>

</ContentPage.Content>