簡體   English   中英

如何在 Xamarin Forms 中隱藏和顯示列表中的項目

[英]How to Hide and Show a item in a List in Xamarin Forms

我想根據用戶權限隱藏一個項目,我想將布爾屬性與 GPS 跟蹤字段綁定,但我不知道該怎么做。

這是代碼

MenuItems = new ObservableCollection<MenuPageMenuItem>(new[]
{
new MenuPageMenuItem { Id = 0, Icon="ticket.png", Title = TranExtension.lang("MyTickets"), TargetType = typeof(TicketsPage) },

                new MenuPageMenuItem { Id = 1, Icon="todayticket.png", Title = TranExtension.lang("TodayTickets"), TargetType = typeof(TodayTicketsPage)},
                new MenuPageMenuItem { Id = 2, Icon="notsync.png", Title = TranExtension.lang("NotSyncronized"),  TargetType = typeof( NotSyncronizedpage)},
                new MenuPageMenuItem { Id = 3, Icon="location.png", Title = "Gps Tracking", TargetType = typeof( GpsTracking)},
                new MenuPageMenuItem { Id = 4, Icon="settings.png", Title = TranExtension.lang("Configuration"), TargetType = typeof(ConfigurationPage)},
                new MenuPageMenuItem { Id = 5, Icon="error.png", Title = TranExtension.lang("Close"), TargetType=typeof(ExitPage) },                 
            });
        }

您需要在MenuPageMenuItem模型中添加一個屬性 IsEnable

 public class MenuPageMenuItem
    {
        public int Id { get; set; }
        public string Icon { get; set; }
        public string Title { get; set; }
        public bool IsEnable { get; set; }

        //your properites
    }
    public class ClassName
    {
        public List<MenuPageMenuItem> MenuItems;
        public ObservableCollection<MenuPageMenuItem> MenuItemsObs { get; set; }
        public ClassName()
        {
            MenuItemsObs = new ObservableCollection<MenuPageMenuItem>();
            MenuItems = new List<MenuPageMenuItem>(new[]
            {
                new MenuPageMenuItem { Id = 0,IsEnable =true , Icon="ticket.png", Title = TranExtension.lang("MyTickets"), TargetType = typeof(TicketsPage)},
                new MenuPageMenuItem { Id = 1,IsEnable =true ,Icon="todayticket.png", Title = TranExtension.lang("TodayTickets"), TargetType = typeof(TodayTicketsPage) },
                new MenuPageMenuItem { Id = 2,IsEnable =true , Icon="notsync.png", Title = TranExtension.lang("NotSyncronized"),  TargetType = typeof(NotSyncronizedpage)},
                new MenuPageMenuItem { Id = 3,IsEnable =true , Icon="location.png", Title = "Gps Tracking", TargetType = typeof(GpsTracking)},
                new MenuPageMenuItem { Id = 4,IsEnable =true , Icon="settings.png", Title = TranExtension.lang("Configuration"), TargetType = typeof(ConfigurationPage)},
                new MenuPageMenuItem { Id = 5,IsEnable =true , Icon="error.png", Title = TranExtension.lang("Close"), TargetType=typeof(ExitPage) },
            });
            SetMenuItems(MenuItems);
        }

        private void SetMenuItems(List<MenuPageMenuItem> menuItems)
        {
            foreach (var item in menuItems)
            {
                if (item.IsEnable)
                    MenuItemsObs.Add(item);
            }
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM