ListView 披露指示器按钮 - Xamarin 表单

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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> 

【讨论】:

以上是关于ListView 披露指示器按钮 - Xamarin 表单的主要内容,如果未能解决你的问题,请参考以下文章

如何对 tableview 行进行操作以及如何在其中添加添加披露指示符?

MonoTouch UITableView PushViewController

披露指示器移动单元格子视图

披露指示器未触发辅助动作序列

自定义 UIView 上的披露指示器 [重复]

在 ios 7 中保持 ios 6 披露指示器的外观