private void ButtonContextMenu_OnMouseDown(object sender, MouseButtonEventArgs e) { ContextMenu contextMenu = sender as ContextMenu; if (contextMenu == null) { return; } ToggleButton button = contextMenu.Parent as ToggleButton; if (button == null) { return; } DamageSector sector = button.Tag as DamageSector; if (sector == null) { return; } CommonEditorForm form = new CommonEditorForm(sector, sector.ItemId > 0); form.ShowDialog(); }
void MainWindowClick(object sender, RoutedEventArgs e) { ToggleButton button = sender as ToggleButton; if (button == null) { return; } if (button.IsChecked == true && button.Tag == null) { DamageSector newDamageSector = new DamageSector() { DamageChartColumn = Grid.GetColumn(button), DamageChartRow = Grid.GetRow(button), DamageDocument = _document, }; button.Tag = newDamageSector; _document.DamageSectors.Add(newDamageSector); } button.IsChecked = !button.IsChecked; //button.IsPressed = !button.IsPressed; }
void ContextMenuButtonClick(object sender, RoutedEventArgs e) { System.Windows.Controls.MenuItem menuItem = sender as System.Windows.Controls.MenuItem; if (menuItem == null) { return; } DependencyObject parent = menuItem.Parent; ToggleButton button = menuItem.Tag as ToggleButton; while (parent != null) { if (parent is ContextMenu) { parent = ((ContextMenu)parent).PlacementTarget; } if (parent is ToggleButton) { button = parent as ToggleButton; break; } if (parent is FrameworkElement) { parent = ((FrameworkElement)parent).Parent; } else { parent = null; } } if (button == null) { return; } DamageSector sector = button.Tag as DamageSector; if (sector == null) { return; } CommonEditorForm form = new CommonEditorForm(sector, sector.ItemId > 0); if (form.ShowDialog() == DialogResult.OK) { button.ToolTip = new ToolTip { Content = string.IsNullOrEmpty(sector.Remarks) ? "No Information" : sector.Remarks }; } }
///<summary> ///</summary> ///<returns></returns> public void SaveData() { DamageChartImage dci = ChartComboBox.SelectedItem as DamageChartImage; if (dci != null) { _document.DamageChart2DImageName = dci.ChartName; } else { _document.DamageChart2DImageName = ""; } List <ToggleButton> checkedButtons = ChartGrid.Children.OfType <ToggleButton>().Where(tb => tb.IsChecked == true).ToList(); List <DamageSector> sectorsToDelete = new List <DamageSector>(_document.DamageSectors); _document.DamageSectors.Clear(); foreach (ToggleButton checkedButton in checkedButtons.Where(cb => cb.Tag as DamageSector != null)) { sectorsToDelete.Remove((DamageSector)checkedButton.Tag); _document.DamageSectors.Add((DamageSector)checkedButton.Tag); } foreach (DamageSector sectorToDelete in sectorsToDelete) { if (sectorToDelete.ItemId > 0) { sectorToDelete.IsDeleted = true; _document.DamageSectors.Add(sectorToDelete); } } foreach (ToggleButton checkedButton in checkedButtons.Where(cb => cb.Tag as DamageSector == null)) { DamageSector newDamageSector = new DamageSector() { DamageChartColumn = Grid.GetColumn(checkedButton), DamageChartRow = Grid.GetRow(checkedButton), DamageDocument = _document, }; checkedButton.Tag = newDamageSector; _document.DamageSectors.Add(newDamageSector); } }
private void ContextMenuButtonClick(object sender, RoutedEventArgs e) { System.Windows.Controls.MenuItem menuItem = sender as System.Windows.Controls.MenuItem; if (menuItem == null) { return; } DependencyObject parent = menuItem.Parent; ToggleButton button = menuItem.Tag as ToggleButton; while (parent != null) { if (parent is ContextMenu) { parent = ((ContextMenu)parent).PlacementTarget; } if (parent is ToggleButton) { button = parent as ToggleButton; break; } if (parent is FrameworkElement) { parent = ((FrameworkElement)parent).Parent; } else { parent = null; } } if (button == null) { return; } DamageSector sector = button.Tag as DamageSector; if (sector == null) { return; } CommonEditorForm form = new CommonEditorForm(sector, sector.ItemId > 0); if (form.ShowDialog() == DialogResult.OK) { System.Windows.Controls.RichTextBox rtb = new System.Windows.Controls.RichTextBox() { FontFamily = FontFamily, FontSize = FontSize }; FlowDocumentScrollViewer flowDocument = new FlowDocumentScrollViewer(); string tooltipTex = string.IsNullOrEmpty(sector.Remarks) ? "No Information" : sector.Remarks; try { //TextRange tr = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd); var documentBytes = Encoding.UTF8.GetBytes(tooltipTex); using (var reader = new MemoryStream(documentBytes)) { reader.Position = 0; rtb.SelectAll(); rtb.Selection.Load(reader, System.Windows.DataFormats.Rtf); } //using (var reader = new MemoryStream(documentBytes)) //{ // tr.Load(reader, System.Windows.DataFormats.Rtf); //} flowDocument.Document = rtb.Document; } catch (Exception) { } button.ToolTip = flowDocument; } }
private void DamageSectorButtonClick(object sender, RoutedEventArgs e) { DamageDocument doc = DamageChartsListView.SelectedItem as DamageDocument; if (doc == null) { return; } ToggleButton button = sender as ToggleButton; if (button == null) { return; } if (button.IsChecked == true) { if (button.Tag == null) { DamageSector newDamageSector = new DamageSector { DamageChartColumn = Grid.GetColumn(button), DamageChartRow = Grid.GetRow(button), DamageDocument = doc, }; button.Tag = newDamageSector; doc.DamageSectors.Add(newDamageSector); } else { DamageSector damageSector = button.Tag as DamageSector; if (damageSector == null) { return; } if (damageSector.ItemId > 0) { damageSector.IsDeleted = false; } } } else { if (button.Tag != null) { DamageSector damageSector = button.Tag as DamageSector; if (damageSector == null) { return; } if (damageSector.ItemId > 0) { damageSector.IsDeleted = true; } else { button.Tag = null; } } } //button.IsChecked = !button.IsChecked; }