public void OnNextDirect(ListElementViewModel listElement) { if (PresentationViewModelProp.IsActive) { if (PresentationViewModelProp.FrontElement != null && PresentationViewModelProp.BackElement != null) { if (PresentationViewModelProp.FrontElement.IsActive) { PresentationViewModelProp.BackElement = ListBoxItems[ListBoxItems.IndexOf(listElement)]; ScrollOffsetNextElmt = PresentationViewModelProp.BackElement.ScrollOffset; //Deckkraft Frontelement Runter Fahren Delay.Start(); } else { PresentationViewModelProp.FrontElement = ListBoxItems[ListBoxItems.IndexOf(listElement)]; ScrollOffsetNextElmt = PresentationViewModelProp.FrontElement.ScrollOffset; PresentationViewModelProp.FrontElement.IsVisible = true; //Deckraft Frontelement hochfahren Delay.Start(); } } } else { OnStart(listElement); } }
private void AntiblockCardSelected() { ListBoxItems.Show(); ButtonUseCard.Show(); ButtonDiscardCard.Show(); PlayerSet myPlayer = Game.Players.Where(player => player.Name == Game.Player.Name).First(); if (myPlayer.Blocks.HasValue) { if (Game.Player.SelectedCard.BlockType.Value.HasFlag(BlockType.Cart)) { if (myPlayer.Blocks.Value.HasFlag(BlockType.Cart)) { ListBoxItems.Items.Add(BlockType.Cart); } } if (Game.Player.SelectedCard.BlockType.Value.HasFlag(BlockType.Lantern)) { if (myPlayer.Blocks.Value.HasFlag(BlockType.Lantern)) { ListBoxItems.Items.Add(BlockType.Lantern); } } if (Game.Player.SelectedCard.BlockType.Value.HasFlag(BlockType.Pickaxe)) { if (myPlayer.Blocks.Value.HasFlag(BlockType.Pickaxe)) { ListBoxItems.Items.Add(BlockType.Pickaxe); } } } }
public void OnNext() { ChangingElement = true; foreach (var element in ListBoxItems) { if (element.IsActive && ListBoxItems.Count != ListBoxItems.IndexOf(element) + 1) { if (element.Filename == PresentationViewModelProp.FrontElement.Filename) { PresentationViewModelProp.BackElement = ListBoxItems[ListBoxItems.IndexOf(element) + 1]; if (PresentationViewModelProp.BackElement.Art == FileArt.Video) { PresentationProp.MediaElementBack.Position = TimeSpan.FromSeconds(0); } ScrollOffsetNextElmt = PresentationViewModelProp.BackElement.ScrollOffset; //Deckkraft Frontelement Runter Fahren Delay.Start(); } else { PresentationViewModelProp.FrontElement = ListBoxItems[ListBoxItems.IndexOf(element) + 1]; if (PresentationViewModelProp.FrontElement.Art == FileArt.Video) { PresentationProp.MediElementFront.Position = TimeSpan.FromSeconds(0); } ScrollOffsetNextElmt = PresentationViewModelProp.FrontElement.ScrollOffset; PresentationViewModelProp.FrontElement.IsVisible = true; //Deckraft Frontelement hochfahren Delay.Start(); } } } }
public void RemoveItem() { if (ListBoxItems.Count > 0) { ListBoxItems.RemoveAt(ListBoxItems.Count - 1); } }
protected void ListBoxItems_SelectedIndexChanged(object sender, EventArgs e) { ListBox lisender = (sender as ListBox); if (lisender.ID == "ListBoxItems") { lstboxSecindlist.ClearSelection(); } else { ListBoxItems.ClearSelection(); } if (ListBoxItems.SelectedValue == "nofilter") { txtFilterFrom.Text = ""; txtFilterTo.Text = ""; } if (lstboxSecindlist.SelectedValue == "EqualToToday" || lstboxSecindlist.SelectedValue == "EqualToOrLessThanToday") { txtFilterFrom.Text = DateTime.Now.ToString("dd/MM/yyyy"); } else if (lstboxSecindlist.SelectedValue == "EqualToTomorrow") { txtFilterFrom.Text = DateTime.Now.AddDays(1).ToString("dd/MM/yyyy"); } string strjFunClose = String.Format("HideCustomFilterUserControl()"); ScriptManager.RegisterStartupScript(this, this.GetType(), "close" + this.ID, strjFunClose, true); ApplySearch(); }
/// <summary> /// 获取需修改数据 /// </summary> /// <param name="element"></param> /// <param name="buttonContent"></param> private void FetchEditData(ListBox element, string buttonContent) { try { if (ButtonContent.Equals("编辑")) { ButtonContent = "完成"; ListBoxItems.Clear(); foreach (AlarmClockModel model in MainAlarmClockManager.Instance.AlarmClocks) { AddNewEditReminder(element, model); } } else if (ButtonContent.Equals("完成")) { ButtonContent = "编辑"; ListBoxItems.Clear(); foreach (AlarmClockModel model in MainAlarmClockManager.Instance.AlarmClocks) { AddNewReminder(element, model); } } } catch (Exception e) { LogWriter.Instance.Error(e); } }
public void AddNewListBoxItem(Texture2D texture, string text) { int index = ListBoxItems.Count(); int imageX = base.Bounds.X + this.ItemPadding; int imageY = base.Bounds.Y + this.ItemPadding + (index * this.ItemHeight); int imageWidth = this.ItemHeight - this.ItemPadding; Rectangle imageBounds = new Rectangle(imageX, imageY, imageWidth, imageWidth); Image image = new Image(texture, imageBounds, Color.White); int parentX = imageX + this.ItemPadding; int parentY = imageY; int labelWidth = base.Bounds.Width - imageWidth - (this.ItemPadding * 3); int labelHeight = this.ItemHeight; Rectangle parentBounds = new Rectangle(parentX, parentY, labelWidth, labelHeight); Label label = new Label(parentBounds, Statics.Arial_8, text, Color.Black); int itemX = this.Bounds.X; int itemY = this.Bounds.Y + (this.ItemHeight * index); int itemWidth = this.Bounds.Width; int itemHeight = this.ItemHeight; Rectangle listBoxItemBounds = new Rectangle(itemX, itemY, itemWidth, ItemHeight); ListBoxItem listBoxItem = new ListBoxItem(image, label, listBoxItemBounds); listBoxItem.leftMouseButtonReleased += listBoxItem_clicked; this.ListBoxItems.Add(listBoxItem); }
private void ListBoxItemsMouseClick(object sender, MouseEventArgs e) { if (e.Button != MouseButtons.Right) { return; } var loc = ListBoxItems.PointToScreen(new Point(e.X, e.Y)); for (int i = 0; i < ListBoxItems.Items.Count; i++) { var rec = ListBoxItems.GetItemRectangle(i); if (rec.X <= e.X && (rec.X + rec.Width) >= e.X && rec.Y <= e.Y && (rec.Y + rec.Height) >= e.Y) { ItemContextMenu.Items[0].Enabled = true; ItemContextMenu.Items[2].Enabled = true; ItemContextMenu.Items[3].Enabled = true; ItemContextMenu.Items[4].Enabled = true; ListBoxItems.ClearSelected(); ListBoxItems.SetSelected(i, true); ItemContextMenu.Show(loc); return; } } ItemContextMenu.Items[0].Enabled = false; ItemContextMenu.Items[3].Enabled = false; ItemContextMenu.Items[4].Enabled = false; ItemContextMenu.Show(loc); }
/// <summary> /// Button click that initiates a search for diffrent locations. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void Button_Click(object sender, RoutedEventArgs e) { ListBoxItems.Clear(); XmlManager.LocationSheetList locationSheetList = new XmlManager.LocationSheetList(); //Make sure to not block UI await Task.Run(() => { try { locationSheetList = WebServiceAPIContext.ReceiveLocationList(_SearchLocation, _ConnectionString); } catch (Exception ex) { ShowErrorMessageBox(ex.Message); } if (locationSheetList.Error && locationSheetList.ExMsg != String.Empty) { ShowErrorMessageBox(locationSheetList.ExMsg); } }); if (locationSheetList.LocationSheets != null) { foreach (var x in locationSheetList.LocationSheets) { Encoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(x.Name)); ListBoxItems.Add(x); } } }
public void AddItem() { ListBoxItems.Add(new PUListBoxItemModel() { Header = "Line" + (ListBoxItems.Count + 1), Value = (ListBoxItems.Count + 1), }); }
private void InitCommand(Random random) { ListBoxItems.Clear(); var json = File.ReadAllText(@"Resources\json\block.json"); List <Block> blockLists = JsonConvert.DeserializeObject <List <Block> >(json); foreach (Block block in blockLists) { var contentItems = new ContentItems() { MetorInfos = new ObservableCollection <MetorInfo>() }; List <MetorInfo> data = block.data; foreach (MetorInfo metorInfo in data) { //new TransitionEffect().LetterNCircle(); var metor = new MetorInfo { Name = metorInfo.Name, Color = metorInfo.Color, Width = metorInfo.Width, Height = metorInfo.Height, View = metorInfo.View, Effect = new TransitionEffect() { Kind = kinds[random.Next(0, kinds.Count)], Duration = new TimeSpan(0, 0, 0, 0, 10) } }; contentItems.MetorInfos.Add(metor); } ListBoxItems.Add(contentItems); } //for (int i = 0; i < 2; i++) //{ // var contentItems = new ContentItems() { MetorInfos = new ObservableCollection<MetorInfo>() }; // for (int j = 0; j < 5; j++) // { // //var metorInfos = new ObservableCollection<MetorInfo>(); // var metor = new MetorInfo // { // Name = "应用" + j, // Color = new SolidColorBrush((Color)ColorConverter.ConvertFromString(colors[random.Next(0, colors.Count)])), // Width = random.Next(0, 8) < 4 ? 314 : 150, // Height = 150, // Effect = new TransitionEffect() // { // Kind = kinds[random.Next(0, kinds.Count)], // Duration = new TimeSpan(0, 0, 0, 0, 900) // } // }; // contentItems.MetorInfos.Add(metor); // } // ListBoxItems.Add(contentItems); //} }
private void PopulateList() { foreach (ITableRow row in _dataTbleResults) { ListBoxItems.Items.Add(RowToString(row)); } ListBoxItems.SelectedIndex = 0; ListBoxItems.Focus(); }
public void LoadPlayListFromFile() { var serializer = new Serializer(); var pathList = serializer.DeserializeFromFile(); foreach (var item in pathList) { var songItem = GetSongInfo(item); ListBoxItems.Add(songItem); } }
private void HideControls() { PictureBoxPathPos1.Hide(); PictureBoxPathPos2.Hide(); ListBoxItems.Items.Clear(); ListBoxItems.Hide(); ButtonUseCard.Hide(); ButtonDiscardCard.Hide(); ButtonEndTurn.Hide(); LabelGoalCard.Text = ""; }
/// <summary> /// Adds a new element to the combo /// </summary> /// <param name="item">item to add</param> /// <param name="index">position to adding</param> public int AddItem(object item, int index = -1) { var newItem = CreateItem(item); if (index == -1 || index == ListBoxItems.Count) { ListBoxItems.Add(newItem); return(ListBoxItems.Count - 1); } ListBoxItems.Insert(index, newItem); return(index); }
private void BlockCardSelected() { ListBoxItems.Show(); ButtonUseCard.Show(); ButtonDiscardCard.Show(); PlayerSet[] players = Game.Players.Where(player => player.Name != "Field" && player.Name != "Deck" && player.Name != "Graveyard" && player.Name != Game.Player.Name && !player.Blocks.Value.HasFlag(Game.Player.SelectedCard.BlockType)).ToArray(); ListBoxItems.Items.AddRange(players); }
private void RefreshListView() { ListBoxItems.BeginUpdate(); ListBoxItems.Items.Clear(); foreach (var item in Items) { ListBoxItems.Items.Add($"[{item.ItemId}] {item.Name}"); } ListBoxItems.EndUpdate(); RefreshSelectedIndex(); RefreshButtons(); RenderEditItem(); }
public MainForm(DataManager manager) { this.manager = manager; InitializeComponent(); ResetLanguage(); ReloadList(); if (ListBoxItems.Items.Count > 0) { ListBoxItems.SetSelected(0, true); } }
/// <summary> /// 获取初始数据 /// </summary> /// <param name="element"></param> private void FetchData(ListBox element) { try { ListBoxItems.Clear(); foreach (var item in MainAlarmClockManager.Instance.AlarmClocks) { AddNewReminder(element, item); } } catch (Exception e) { LogWriter.Instance.Error(e); } }
/// <summary> /// 返回闹钟主页面回调 /// </summary> /// <param name="target"></param> private void BackToMainView(string target) { try { ListBoxItems.Clear(); foreach (AlarmClockModel model in MainAlarmClockManager.Instance.AlarmClocks) { AddNewReminder(_mainListBox, model); } ButtonContent = "编辑"; _mainBorder.Child = _lastUIElement; } catch (Exception e) { LogWriter.Instance.Error(e); } }
/// <summary> /// 删除闹钟回调 /// </summary> /// <param name="target"></param> private void DeleteFormListBox(ListBoxItem target) { try { ListBoxItems.Remove(target); if (target.Content is AlarmClockView) { ((target.Content as AlarmClockView).DataContext as AlarmClockViewModel).DeleteData(); } else if (target.Content is AlarmClockEditView) { ((target.Content as AlarmClockEditView).DataContext as AlarmClockViewModel).DeleteData(); } } catch (Exception e) { LogWriter.Instance.Error(e); } }
public void SetSelectByName(string name) { var i = ListBoxItems.FindStringExact(name); if (i < 0) { if (ListBoxItems.SelectedIndex < 0 && ListBoxItems.Items.Count > 0) { ListBoxItems.SetSelected(0, true); } } else { if (!(ListBoxItems.SelectedIndex < 0)) { ListBoxItems.SetSelected(ListBoxItems.SelectedIndex, false); } ListBoxItems.SetSelected(i, true); } }
/// <summary> /// 返回提醒主页面回调 /// </summary> /// <param name="target"></param> private void BackToMainView(string target) { try { ListBoxItems.Clear(); if (_isReminderRemote || TitleContent.Equals("远程提醒")) { foreach (ReminderModel model in ReminderManager.Instance.Reminders.ToArray()) { if (!string.IsNullOrEmpty(model.Contact)) { AddNewReminder(_mainListBox, model); } } } else { foreach (ReminderModel model in ReminderManager.Instance.Reminders.ToArray()) { if (string.IsNullOrEmpty(model.Contact)) { AddNewReminder(_mainListBox, model); } } } //ButtonContent = "编辑"; //if (target.Equals("Cancel")) //{ // _mainBorder.Child = _lastUIElement; //} if (!string.IsNullOrEmpty(target)) { _mainBorder.Child = _lastUIElement; } } catch (Exception e) { LogWriter.Instance.Error(e); } }
/// <summary> /// 获取初始数据 /// </summary> /// <param name="element"></param> private void AddRing(string ring) { try { ListBoxItem item = new ListBoxItem(); //加载资源字典 string packUri = @"/LifeService;component/WindowDictionary.xaml"; ResourceDictionary myResourceDictionary = Application.LoadComponent(new Uri(packUri, UriKind.Relative)) as ResourceDictionary; item.SetValue(ListBoxItem.StyleProperty, myResourceDictionary["OnlyBackgroundListBoxItemStyle"]); AlarmClockRingItemView clockView = new AlarmClockRingItemView(); AlarmClockRingItemViewModel clockViewModel = new AlarmClockRingItemViewModel(ring); clockViewModel.BackToMainView = ArrivedAtMainView; clockView.DataContext = clockViewModel; item.Content = clockView; ListBoxItems.Add(item); } catch (Exception e) { LogWriter.Instance.Error(e); } }
/// <summary> /// 添加闹钟 /// </summary> /// <param name="element"></param> /// <param name="model"></param> private void AddNewReminder(ListBox element, AlarmClockModel model) { try { ListBoxItem item = new ListBoxItem(); //加载资源字典 string packUri = @"/LifeService;component/WindowDictionary.xaml"; ResourceDictionary myResourceDictionary = Application.LoadComponent(new Uri(packUri, UriKind.Relative)) as ResourceDictionary; item.SetValue(ListBoxItem.StyleProperty, myResourceDictionary["NoBackgroundListBoxItemStyle"]); AlarmClockView clockView = new AlarmClockView(element); AlarmClockViewModel clockViewModel = new AlarmClockViewModel(); clockViewModel.DeleteFromListBox = DeleteFormListBox; clockViewModel.FetchData(model); clockView.DataContext = clockViewModel; item.Content = clockView; ListBoxItems.Add(item); } catch (Exception e) { LogWriter.Instance.Error(e); } }
private void DelayLoadBackground_Tick(object sender, EventArgs e) { DelayLoadBackground.Stop(); ListElementViewModel nextElm = null; if (PresentationViewModelProp.FrontElement.IsActive) { if (ListBoxItems[ListBoxItems.Count - 1].Filename != PresentationViewModelProp.FrontElement.Filename) { foreach (var item in ListBoxItems) { if (item.IsActive) { nextElm = ListBoxItems[ListBoxItems.IndexOf(item) + 1]; } } PresentationViewModelProp.BackElement = nextElm; } } else { if (ListBoxItems[ListBoxItems.Count - 1].Filename != PresentationViewModelProp.BackElement.Filename) { foreach (var item in ListBoxItems) { if (item.IsActive) { nextElm = ListBoxItems[ListBoxItems.IndexOf(item) + 1]; nextElm.IsVisible = false; } } PresentationViewModelProp.FrontElement = nextElm; } } }
public ResultPanel() { InitializeComponent(); _results = new ListBoxItems(); lbResults.ItemsSource = _results; }
/// <summary> /// Method to invoke when the DeleteListBoxItem command is executed. /// </summary> private void DeleteListBoxItem() { ListBoxItems.Remove(SelectedItem); }
private void OnAddItemCommandExecute() { ListBoxItems.Insert(0, CreateUser()); }
private void InitializeComponent() { AvaloniaXamlLoader.Load(this); #region Designer PEM20_Button = this.FindControl <Button>("PEM20_Button"); PEM21_Button = this.FindControl <Button>("PEM21_Button"); PEM22_Button = this.FindControl <Button>("PEM22_Button"); PEM20_Path = this.FindControl <TextBlock>("PEM20_Path"); PEM21_Path = this.FindControl <TextBlock>("PEM21_Path"); PEM22_Path = this.FindControl <TextBlock>("PEM22_Path"); PEM20_ListBox = this.FindControl <ListBox>("PEM20_ListBox"); PEM21_ListBox = this.FindControl <ListBox>("PEM21_ListBox"); PEM22_ListBox = this.FindControl <ListBox>("PEM22_ListBox"); TimestampPicker = this.FindControl <DatePicker>("TimestampPicker"); UploadNotification = this.FindControl <TextBlock>("UploadNotification"); UploadDatabases = this.FindControl <Button>("UploadDatabases"); LoadAll = this.FindControl <Button>("LoadAll"); Analyse = this.FindControl <Button>("Analyse"); #endregion Designer PEM20_Button.Click += async(sender, e) => { OpenFileDialog openFileDialog = new OpenFileDialog { Title = "Open PEM 20 database" }; string[] files = await openFileDialog.ShowAsync(this); if (files.Any()) { PEM20_Path.Text = string.Join("; ", files).Replace("%20", " "); } }; PEM21_Button.Click += async(sender, e) => { OpenFileDialog openFileDialog = new OpenFileDialog { Title = "Open PEM 21 database" }; string[] files = await openFileDialog.ShowAsync(this); if (files.Any()) { PEM21_Path.Text = string.Join("; ", files).Replace("%20", " "); } }; PEM22_Button.Click += async(sender, e) => { OpenFileDialog openFileDialog = new OpenFileDialog { Title = "Open PEM 22 database" }; string[] files = await openFileDialog.ShowAsync(this); if (files.Any()) { PEM22_Path.Text = string.Join("; ", files).Replace("%20", " "); } }; UploadDatabases.Click += async(sender, e) => { Task t = new Task(async() => { string pickerTime = (TimestampPicker.SelectedDate ?? DateTime.Now).ToString("yyyyMMddhhmm"); TextWriter textWriter = new StreamWriter(File.OpenWrite("ssh.log")); using (SshClient ssh = new SshClient(ConfigurationManager.AppSettings["Host"], ConfigurationManager.AppSettings["Username"], ConfigurationManager.AppSettings["Password"])) { ssh.Connect(); void RunCommand(string command) { textWriter.WriteLine(command); SshCommand cmd = ssh.RunCommand(command); if (string.IsNullOrWhiteSpace(cmd.Error)) { textWriter.WriteLine(cmd.Result); } else { textWriter.WriteLine(cmd.Error); } } RunCommand($"mkdir { pickerTime }"); RunCommand($"mkdir -p { pickerTime }/PEM\\ 20"); RunCommand($"mkdir -p { pickerTime }/PEM\\ 21"); RunCommand($"mkdir -p { pickerTime }/PEM\\ 22"); ssh.Disconnect(); } await textWriter.FlushAsync(); using (SftpClient sftp = new SftpClient(ConfigurationManager.AppSettings["Host"], ConfigurationManager.AppSettings["Username"], ConfigurationManager.AppSettings["Password"])) { sftp.Connect(); void UploadFileAsync(TextBlock databasePath, string remotePath) { foreach (FileInfo file in databasePath.Text.Split(separator: ";".ToCharArray(), options: StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).Where(x => File.Exists(x)).Select(x => new FileInfo(x))) { string remoteFile = $"{ pickerTime }/{ remotePath }/{ file.Name }"; textWriter.WriteLine($"sftp { file.FullName } {remoteFile}"); try { sftp.UploadFile(file.OpenRead(), remoteFile); } catch (Exception ex) { textWriter.WriteLine(ex.Message); } } } UploadFileAsync(PEM20_Path, "PEM 20"); UploadFileAsync(PEM21_Path, "PEM 21"); UploadFileAsync(PEM22_Path, "PEM 22"); sftp.Disconnect(); } await textWriter.FlushAsync(); textWriter.Close(); }); t.Start(); await t; UploadNotification.Text = "Uploaded"; }; LoadAll.Click += async(sender, e) => { OpenFolderDialog openFolderDialog = new OpenFolderDialog { Title = "Open databases folder" }; string directory = await openFolderDialog.ShowAsync(this); if (Directory.Exists(directory)) { var files = Directory.EnumerateDirectories(directory).Select(x => new { PEM_No = Regex.Match(x, "PEM\\s\\d{2}").Value, Files = Directory.EnumerateFiles(x).Where(y => !y.Contains("_database") && !y.Contains("database-shm") && !y.Contains("database-wal")) }); foreach (var folder in files) { if (folder.Files.Any()) { switch (folder.PEM_No) { case "PEM 20": PEM20_Path.Text = string.Join("; ", folder.Files); break; case "PEM 21": PEM21_Path.Text = string.Join("; ", folder.Files); break; case "PEM 22": PEM22_Path.Text = string.Join("; ", folder.Files); break; } } } } }; Analyse.Click += (sender, e) => { LoadDatabase(PEM20_Path, PEM20_ListBox); LoadDatabase(PEM21_Path, PEM21_ListBox); LoadDatabase(PEM22_Path, PEM22_ListBox); void LoadDatabase(TextBlock path, ListBox list) { IEnumerable <string> databases = path.Text.Split(separator: ";".ToCharArray(), options: StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).Where(x => File.Exists(x)); foreach (string pathT in databases) { SQLiteConnection connection = new SQLiteConnection($"Data Source={ pathT }"); connection.Open(); GetData(connection, list.Items as IList); } } void GetData(SQLiteConnection connection, IList ListBoxItems) { try { SQLiteCommand command = connection.CreateCommand(); command.CommandText = "SELECT id, key as \"Activity ID\", userId as \"User\", time(totalTime/1000, \"unixepoch\") AS \"Time\" FROM activity WHERE totalTime IS NOT NULL ORDER BY userId, id"; Activity[] data = command.ExecuteReader().OfType <IDataRecord>().Select(x => new Activity { ID = int.Parse(x["id"].ToString()), ActivityID = x["Activity ID"].ToString(), User = x["User"].ToString(), Time = x["Time"].ToString() }).ToArray(); IEnumerable <CombinedActivity> combined = data.FullJoin(second: Activities, firstKeySelector: x => x.ActivityID, secondKeySelector: x => x.Key, firstSelector: x => new CombinedActivity { ID = x.ID, ActivityID = x.ActivityID, Time = TimeSpan.Parse(x.Time), User = x.User, ProperTime = TimeSpan.FromSeconds(0) }, secondSelector: x => new CombinedActivity { ID = -1, ActivityID = x.Key, Time = TimeSpan.FromSeconds(0), User = "******", ProperTime = x.Value }, bothSelector: (x, y) => new CombinedActivity { ID = x.ID, ActivityID = x.ActivityID, Time = TimeSpan.Parse(x.Time), User = x.User, ProperTime = y.Value }); #region Label { ListBoxItem lbi = new ListBoxItem(); ListBoxItems.Add(lbi); Grid grid = new Grid(); lbi.Content = grid; grid.ColumnDefinitions.Add(new ColumnDefinition(12, GridUnitType.Pixel)); grid.ColumnDefinitions.Add(new ColumnDefinition(30, GridUnitType.Pixel)); grid.ColumnDefinitions.Add(new ColumnDefinition(12, GridUnitType.Pixel)); grid.ColumnDefinitions.Add(new ColumnDefinition(60, GridUnitType.Pixel)); grid.ColumnDefinitions.Add(new ColumnDefinition(12, GridUnitType.Pixel)); grid.ColumnDefinitions.Add(new ColumnDefinition(40, GridUnitType.Pixel)); grid.ColumnDefinitions.Add(new ColumnDefinition(12, GridUnitType.Pixel)); grid.ColumnDefinitions.Add(new ColumnDefinition(80, GridUnitType.Pixel)); grid.ColumnDefinitions.Add(new ColumnDefinition(12, GridUnitType.Pixel)); grid.ColumnDefinitions.Add(new ColumnDefinition(1, GridUnitType.Auto)); grid.ColumnDefinitions.Add(new ColumnDefinition(12, GridUnitType.Pixel)); grid.RowDefinitions.Add(new RowDefinition(12, GridUnitType.Pixel)); grid.RowDefinitions.Add(new RowDefinition(1, GridUnitType.Auto)); grid.RowDefinitions.Add(new RowDefinition(12, GridUnitType.Pixel)); TextBlock id = new TextBlock { Text = "ID" }; Grid.SetColumn(id, 1); Grid.SetRow(id, 1); grid.Children.Add(id); TextBlock aid = new TextBlock { Text = "Activity ID" }; Grid.SetColumn(aid, 3); Grid.SetRow(aid, 1); grid.Children.Add(aid); TextBlock usr = new TextBlock { Text = "User" }; Grid.SetColumn(usr, 5); Grid.SetRow(usr, 1); grid.Children.Add(usr); TextBlock time = new TextBlock { Text = "Time" }; Grid.SetColumn(time, 7); Grid.SetRow(time, 1); grid.Children.Add(time); TextBlock proper = new TextBlock { Text = "ProperTime" }; Grid.SetColumn(proper, 9); Grid.SetRow(proper, 1); grid.Children.Add(proper); lbi.IsEnabled = false; } #endregion Label foreach (CombinedActivity record in combined) { ListBoxItem lbi = new ListBoxItem(); ListBoxItems.Add(lbi); Grid grid = new Grid(); lbi.Content = grid; grid.ColumnDefinitions.Add(new ColumnDefinition(12, GridUnitType.Pixel)); grid.ColumnDefinitions.Add(new ColumnDefinition(30, GridUnitType.Pixel)); grid.ColumnDefinitions.Add(new ColumnDefinition(12, GridUnitType.Pixel)); grid.ColumnDefinitions.Add(new ColumnDefinition(60, GridUnitType.Pixel)); grid.ColumnDefinitions.Add(new ColumnDefinition(12, GridUnitType.Pixel)); grid.ColumnDefinitions.Add(new ColumnDefinition(40, GridUnitType.Pixel)); grid.ColumnDefinitions.Add(new ColumnDefinition(12, GridUnitType.Pixel)); grid.ColumnDefinitions.Add(new ColumnDefinition(80, GridUnitType.Pixel)); grid.ColumnDefinitions.Add(new ColumnDefinition(12, GridUnitType.Pixel)); grid.ColumnDefinitions.Add(new ColumnDefinition(1, GridUnitType.Auto)); grid.ColumnDefinitions.Add(new ColumnDefinition(12, GridUnitType.Pixel)); grid.RowDefinitions.Add(new RowDefinition(12, GridUnitType.Pixel)); grid.RowDefinitions.Add(new RowDefinition(1, GridUnitType.Auto)); grid.RowDefinitions.Add(new RowDefinition(12, GridUnitType.Pixel)); TextBlock id = new TextBlock { Text = record.ID.ToString() }; Grid.SetColumn(id, 1); Grid.SetRow(id, 1); grid.Children.Add(id); TextBlock aid = new TextBlock { Text = record.ActivityID }; Grid.SetColumn(aid, 3); Grid.SetRow(aid, 1); grid.Children.Add(aid); TextBlock usr = new TextBlock { Text = record.User }; Grid.SetColumn(usr, 5); Grid.SetRow(usr, 1); grid.Children.Add(usr); TextBlock time = new TextBlock { Text = record.Time.ToString() }; Grid.SetColumn(time, 7); Grid.SetRow(time, 1); grid.Children.Add(time); TextBlock proper = new TextBlock { Text = record.ProperTime.ToString() }; Grid.SetColumn(proper, 9); Grid.SetRow(proper, 1); grid.Children.Add(proper); lbi.Tapped += (tapped, ev) => { JoinCheck joinCheck = new JoinCheck(connection, record); joinCheck.Show(); }; } } finally { connection.Close(); } } }; TimestampPicker.SelectedDate = DateTime.Now; }