Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
Xaml 如何从Xamarin表单中的IOS Listview中删除此箭头或图像_Xaml_Xamarin_Xamarin.forms - Fatal编程技术网

Xaml 如何从Xamarin表单中的IOS Listview中删除此箭头或图像

Xaml 如何从Xamarin表单中的IOS Listview中删除此箭头或图像,xaml,xamarin,xamarin.forms,Xaml,Xamarin,Xamarin.forms,当我在xamarin表单中编写listview时,这个图标会自动添加到IOS中,而在Android中则不存在 我尝试通过渲染viewrenderer使用自定义渲染器删除此视图,但此视图渲染器从未得到调用 下面是我用于自定义渲染的代码 [assembly: ExportRenderer(typeof(ViewCell), typeof(StandardViewCellRenderer))] namespace Sample.iOS.Renderers.RevisedRenderer { pub

当我在xamarin表单中编写listview时,这个图标会自动添加到IOS中,而在Android中则不存在

我尝试通过渲染viewrenderer使用自定义渲染器删除此视图,但此视图渲染器从未得到调用

下面是我用于自定义渲染的代码

[assembly: ExportRenderer(typeof(ViewCell), 
typeof(StandardViewCellRenderer))]
namespace Sample.iOS.Renderers.RevisedRenderer
{
 public class StandardViewCellRenderer : ViewCellRenderer
  {
    public override UIKit.UITableViewCell GetCell(Cell item, 
     UIKit.UITableViewCell reusableCell, UIKit.UITableView tv)
    {
        var cell = base.GetCell(item, reusableCell, tv);
        switch (item.StyleId)
        {
            case "none":
                cell.Accessory = UIKit.UITableViewCellAccessory.None;
                break;
            case "checkmark":
                cell.Accessory = UIKit.UITableViewCellAccessory.Checkmark;
                break;
            case "detail-button":
                cell.Accessory = 
          UIKit.UITableViewCellAccessory.DetailButton;
                break;
            case "detail-disclosure-button":
                cell.Accessory = 
   UIKit.UITableViewCellAccessory.DetailDisclosureButton;
                break;
            case "disclosure":
            default:
                cell.Accessory = 
        UIKit.UITableViewCellAccessory.DisclosureIndicator;
                break;
        }
        return cell;
    }
}
 }

让我知道需要修改或添加哪些内容才能使其正常工作

卸下开关,并保留如下代码: var cell=base.GetCell(item,reusableCell,tv)

cell.accessority=UITableViewcellAccessority.DisclosureIndicator

有关更多详细信息,请访问:

卸下开关,保留如下代码: var cell=base.GetCell(item,reusableCell,tv)

cell.accessority=UITableViewcellAccessority.DisclosureIndicator

有关更多详细信息,请访问:

原因:

我尝试通过渲染viewrenderer使用自定义渲染器删除此选项 但该视图渲染器从未得到调用

视图呈现程序确实在项目中得到调用,而
Switch语句
中的代码从未执行,因为
item.StyleId
始终为空。您可以添加断点来检查它

解决方案:

如果要删除箭头,只需设置
cell.Accessory=UIKit.UITableViewCellAccessory.None将起作用

class StandardViewCellRenderer : ViewCellRenderer
{
    public override UIKit.UITableViewCell GetCell(Cell item,
 UIKit.UITableViewCell reusableCell, UIKit.UITableView tv)
    {
        var cell = base.GetCell(item, reusableCell, tv);

        Console.WriteLine(item.StyleId);

        cell.Accessory = UIKit.UITableViewCellAccessory.None;

   //     switch (item.StyleId)
   //     {
   //         case "none":
   //             cell.Accessory = UIKit.UITableViewCellAccessory.None;
   //             break;
   //         case "checkmark":
   //             cell.Accessory = UIKit.UITableViewCellAccessory.Checkmark;
   //             break;
   //         case "detail-button":
   //             cell.Accessory =
   //       UIKit.UITableViewCellAccessory.DetailButton;
   //             break;
   //         case "detail-disclosure-button":
   //             cell.Accessory =
   //UIKit.UITableViewCellAccessory.DetailDisclosureButton;
   //             break;
   //         case "disclosure":
   //         default:
   //             cell.Accessory =
   //     UIKit.UITableViewCellAccessory.DisclosureIndicator;
   //             break;
   //     }
        return cell;
    }
}
如果要显示具有不同
cell.accessority
样式的单元格,可以创建自定义属性,而不是使用
StyleId


我还上传了一个。

原因:

我尝试通过渲染viewrenderer使用自定义渲染器删除此选项 但该视图渲染器从未得到调用

视图呈现程序确实在项目中得到调用,而
Switch语句
中的代码从未执行,因为
item.StyleId
始终为空。您可以添加断点来检查它

解决方案:

如果要删除箭头,只需设置
cell.Accessory=UIKit.UITableViewCellAccessory.None将起作用

class StandardViewCellRenderer : ViewCellRenderer
{
    public override UIKit.UITableViewCell GetCell(Cell item,
 UIKit.UITableViewCell reusableCell, UIKit.UITableView tv)
    {
        var cell = base.GetCell(item, reusableCell, tv);

        Console.WriteLine(item.StyleId);

        cell.Accessory = UIKit.UITableViewCellAccessory.None;

   //     switch (item.StyleId)
   //     {
   //         case "none":
   //             cell.Accessory = UIKit.UITableViewCellAccessory.None;
   //             break;
   //         case "checkmark":
   //             cell.Accessory = UIKit.UITableViewCellAccessory.Checkmark;
   //             break;
   //         case "detail-button":
   //             cell.Accessory =
   //       UIKit.UITableViewCellAccessory.DetailButton;
   //             break;
   //         case "detail-disclosure-button":
   //             cell.Accessory =
   //UIKit.UITableViewCellAccessory.DetailDisclosureButton;
   //             break;
   //         case "disclosure":
   //         default:
   //             cell.Accessory =
   //     UIKit.UITableViewCellAccessory.DisclosureIndicator;
   //             break;
   //     }
        return cell;
    }
}
如果要显示具有不同
cell.accessority
样式的单元格,可以创建自定义属性,而不是使用
StyleId


我还上传了一个。

尝试使用
item.Accessory=UITableViewCellAccessory.None尝试使用
item.Accessory=UITableViewCellAccessory.None问题是我的本机渲染器甚至没有启动问题是我的本机渲染器甚至没有再次启动相同的问题我的viewrenderer在本机中从未遇到过called@RonakShethia你看过我的演示了吗?或者,您可以在您的xamarin.forms项目中共享代码吗?我工作过,实际上我有两个自定义的viewrenderer,这就是为什么第二个渲染器没有得到调用的原因。我删除了第二个渲染器,并编辑了代码和它的工作,现在感谢您解决了相同的问题,我的viewrenderer在本机中从未得到过called@RonakShethia你看过我的演示了吗?或者您可以在您的xamarin.forms项目中共享代码吗?我工作过,实际上我有两个自定义的viewrenderer,这就是为什么第二个渲染器没有被调用的原因。我删除了第二个渲染器,并编辑了代码和它的工作,谢谢