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); } } }