我为iOS ListView实现了自定义渲染器(使用iOS ListView的原生实现),现在,我需要为不同的单元格设置不透明度(如下图所示)单元格包含一些控件如:image / textlabel / image
我怎样才能做到这一点?
答案 0 :(得分:0)
您不需要自定义渲染器来设置单元格的不透明度。所有要做的就是设置列表的itemTemplate(使用您的视图而不是Grid
。所有视图都有Opacity
属性):
<ListView ItemsSource={Binding yourList}>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.View>
<Grid Opacity="0.5">
</Grid>
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
即使所有这些事情,如果您仍想使用自定义渲染器,您的costum渲染器将如下:
[assembly: ExportRenderer(typeof(UIViewCell), typeof(UIViewCellRenderer))]
namespace YourProjectNamespace.iOS.Renderers
{
public class UIViewCellRenderer: ViewCellRenderer
{
public override UITableViewCell GetCell(Cell item,UITableViewCell reusable, UITableView tv)
{
var cell = base.GetCell(item, reusable, tv);
cell.BackgroundColor.ColorWithAlpha(0.5F);// set the opacity
return cell;
}
}
}