【问题标题】:ListView Disclosure Indicator Button - Xamarin FormListView 披露指示器按钮 - Xamarin 表单
【发布时间】:2014-10-13 15:44:29
【问题描述】:

我是 Xamarin 平台的新手,我已经开始以 Xamarin 形式(跨平台)实施教程。我想知道如何实现一个附件,它是 ListView(tableView) 上的显示指示器按钮。我附上 XCode TableViewcontroller 的屏幕截图,以使我的问题更清楚。

【问题讨论】:

    标签: xamarin xamarin.forms


    【解决方案1】:

    Xamarin.Forms 中,您可以使用 ViewCell 自定义列表视图行。

    在链接 here 的末尾有一个关于自定义 Xamarin.Forms ListView 控件行布局的部分。

    简而言之,您的 XAML 表单中将包含以下内容作为模板:-

    <ListView>
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <ViewCell.View>
    

    ** 在此处放置自定义 Xamarin.Forms 标记以自定义列表行的显示 **

                    </ViewCell.View>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>  
    </ListView>
    

    您可以在中间放置任何 Xamarin.Forms 标记以实现您想要的外观。因此,也许可以使用 GridStackLayout 并自定义内部外观。

    由于您使用的是 Xamarin.Forms,因此您必须创建自己的布局才能达到类似的效果。请记住,您现在的目标是多平台。如果您真的喜欢“>”外观,那么也许可以创建一个图像并添加一个 Xamarin.Forms 图像 来实现此效果?如果不编写某种自定义渲染器,我认为您无法以任何其他方式添加各种特定于平台的附件。

    【讨论】:

    • 你好皮特,这是有道理的。如何在这个 xaml 中添加图像?如果你不介意,请你写一个添加图像的小脚本。
    • 这是一个用于处理图像的guide。以最简单的形式,您可以在 ViewCell.View 中编写
    【解决方案2】:

    也许你可以做一个工具栏项目,详情在这里http://codeworks.it/blog/?p=232

    【讨论】:

    • 你好 Corcav,我想坚持使用 ListView,我不想使用工具栏项。谢谢。
    【解决方案3】:

    我已经完成了以下任务。

    <ListView.ItemTemplate>
      <DataTemplate>
          <ViewCell>
    
              <Grid BackgroundColor="White" Margin="10">
    
                  <Grid.ColumnDefinitions>
                      <ColumnDefinition Width="50"/>
                      <ColumnDefinition Width="*"/> 
                      <ColumnDefinition Width="30"/>                                   
                  </Grid.ColumnDefinitions> 
                      <Image Grid.Column="0" Source="startIcon.png" /> 
                      <StackLayout Grid.Column="1">
                          <Label 
                              Text="{Binding ProductName}"
                              Margin="8"
                              FontAttributes="Bold"
                              FontSize="Medium" />
                          <Label Text="{Binding Quantity}"
                              Margin="8,2,8,4"
                              FontSize="Small" />
                  </StackLayout>  
                  <Image Grid.Column="2" Source="rightIcon.png" />                          
              </Grid>    
          </ViewCell>                    
      </DataTemplate>                
    </ListView.ItemTemplate> 

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-27
      • 2012-01-25
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      • 1970-01-01
      • 2020-03-23
      • 1970-01-01
      相关资源
      最近更新 更多