Beispiel #1
0
        private void DrawListView()
        {
            m_ListView = new ListView();
            m_ListView.ExpandWidthAndHeight();
            Add(m_ListView);

            Func <VisualElement> makeItemFunc = () =>
            {
                return(new LogDataViewer());
            };
            Action <VisualElement, int> bindItemAction = (ve, index) =>
            {
                var dataViewer = ve as LogDataViewer;
                dataViewer.BindedData = m_BindedDatas[index];
            };
            Action <VisualElement, int> unbindItemAction = (ve, index) =>
            {
                var dataViewer = ve as LogDataViewer;
                dataViewer.BindedData = null;
            };

            m_ListView.makeItem           = makeItemFunc;
            m_ListView.bindItem           = bindItemAction;
            m_ListView.unbindItem         = unbindItemAction;
            m_ListView.selectionType      = SelectionType.Single;
            m_ListView.onSelectionChange += (items) =>
            {
                LogData logData = (items.ToArray()[0]) as LogData;
                OnDataSelected?.Invoke(logData);
            };
        }
 private void Populate(string searchTerm = "")
 {
     GalleryWrapper.Children.Clear();
     foreach (var block in LevelDataBlock.LoadAllFromDB())
     {
         if (searchTerm == "" || block.Name.ToLower().Contains(searchTerm.ToLower()))
         {
             var stack = new StackPanel();
             stack.Children.Add(new Image()
             {
             });
             stack.Children.Add(new TextBlock()
             {
                 Text         = block.Name,
                 TextWrapping = TextWrapping.Wrap,
                 //Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF343434"))
             });
             var button = new Button()
             {
                 Content    = stack,
                 Tag        = block,
                 Padding    = new Thickness(10),
                 Margin     = new Thickness(5, 5, 0, 0),
                 Background = new SolidColorBrush(AppResources.S_ColorConvert(block.Color))
             };
             button.Click += delegate
             {
                 OnDataSelected?.Invoke(this, button.Tag as LevelDataBlock);
             };
             GalleryWrapper.Children.Add(button);
         }
     }
 }