private void Grid_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e) { ChartPickerItem mousedOverItem = ((FrameworkElement)sender).DataContext as ChartPickerItem; _timer.Stop(); _lastMousedOverItem = mousedOverItem; _timer.Start(); }
private void Grid_MouseLeave(object sender, System.Windows.Input.MouseEventArgs e) { ChartPickerItem mousedOverItem = ((FrameworkElement)sender).DataContext as ChartPickerItem; if (_lastMousedOverItem == mousedOverItem) { _lastMousedOverItem = null; _timer.Stop(); } }
private void Grid_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e) { ChartPickerItem clickedItem = ((FrameworkElement)sender).DataContext as ChartPickerItem; if (ListBoxSecondary.Items.Contains(clickedItem)) { PrimaryItem.SelectedItem = clickedItem; } SetCurrentGraph(); Close(); }
private void _timer_Tick(object sender, EventArgs e) { _timer.Stop(); if (_lastMousedOverItem == null) { return; } PrimaryItem = _lastMousedOverItem; ListBoxSecondary.SelectedItem = PrimaryItem.SelectedItem; }
void Calculations_ModelChanged(object sender, EventArgs e) { bool specificWasSelected = false; ChartPickerItem last = Items.Last(); if (last.Header.EndsWith(" Specific")) { specificWasSelected = PrimaryItem == last; Items.Remove(last); } last = new ChartPickerItem(Calculations.Instance.Name + " Specific", Calculations.CustomChartNames); Items.Add(last); if (specificWasSelected) { PrimaryItem = last; SetCurrentGraph(); } }
private void _timer_Tick(object sender, EventArgs e) { _timer.Stop(); if (_lastMousedOverItem == null) return; PrimaryItem = _lastMousedOverItem; ListBoxSecondary.SelectedItem = PrimaryItem.SelectedItem; }
public ChartPickerItem(string header, params string[] children) { Header = header; Items = children.Select(child => new ChartPickerItem(child)).ToArray(); SelectedItem = Items.FirstOrDefault(); }
private void Close() { PrimaryItem = Items.FirstOrDefault(chartPickerItem => chartPickerItem.Header == GraphDisplay.CurrentGraph.Split('|')[0]); PopupChartPicker.IsOpen = false; }