public void Populate() { MyView.StackChat.Children.Clear(); OperationResult listResult = Database.ListAll(); if (listResult.Code > 0) { List <Bookmark> items = (List <Bookmark>)listResult.Data; foreach (Bookmark item in items) { //ImageSource icon = new BitmapImage(new Uri(item.Favicon, UriKind.RelativeOrAbsolute)); ImageLabelButton button = new ImageLabelButton() { Text = item.Title, Icon = new BitmapImage(new Uri(item.Favicon, UriKind.RelativeOrAbsolute)) }; button.Click += (sender, e) => Bookmark_Click(sender, e, item.Url); MyView.StackChat.Children.Add(button); } } }
private void WebsiteFetchWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (e.Error != null) { MyView.Dispatcher.Invoke(() => { MyView.StackChat.Children.Add(new ImageLabelButton() { Text = "Error!" }); }); } else { Bookmark bookmark = e.Result as Bookmark; Database.Add(bookmark); MyView.Dispatcher.Invoke(() => { ImageLabelButton button = new ImageLabelButton() { Text = bookmark.Title, Icon = new BitmapImage(new Uri(bookmark.Favicon, UriKind.RelativeOrAbsolute)) //IconExtensions.ToImageSource(Icon.ExtractAssociatedIcon(bookmark.Favicon)) }; button.Click += (sender, e) => Bookmark_Click(sender, e, bookmark.Url); MyView.StackChat.Children.Add(button); }); } }
public void AddMessage(string value) { // Recognize Item newItem = MyInterpreter.Parse(value, State); // Save MainDB.Add(newItem); // Execute MyRunner.Do(newItem); // Add to UI // TODO: Add new date label if from day to other ImageLabelButton button = new ImageLabelButton() { Icon = GetIcon(newItem.Type), Text = newItem.Value }; button.Click += (sender, e) => Item_Click(sender, e, newItem); MyView.StackChat.Children.Add(button); MyView.Scroller.ScrollToBottom(); }
private ImageLabelButton subItemButtonFactory(SubItem subItem) { ImageLabelButton subItemButton = new ImageLabelButton() { Text = subItem.Text }; subItemButton.Click += (sender, e) => { StackSubItems.Children.Remove(subItemButton); MyItem.SubItems.Remove(subItem); MainDB.Update(MyItem); }; return(subItemButton); }