// Adds a context menu to the text block /*private void AddHeaderContextMenu() * { * ContextMenu contextMenu = new(); * * var keymap = AvaloniaLocator.Current.GetService<PlatformHotkeyConfiguration>(); * * var list = new AvaloniaList<object>(); * * MenuItem menuItemCopy = new MenuItem() { Header = "_Copy - Column" }; * menuItemCopy.Click += delegate * { * ClipBoardUtils.SetTextAsync(ColumnText); * }; * list.Add(menuItemCopy); * * //list.Add(new Separator()); * * contextMenu.Items = list; * * //this.ContextMenu = contextMenu; * }*/ // Adds a context menu to the text block private void AddTextBlockContextMenu(TextBlock textBlock) { var contextMenu = new ContextMenu(); var keymap = AvaloniaLocator.Current.GetService <PlatformHotkeyConfiguration>(); var list = new AvaloniaList <object>(); var menuItemCopy = new TabMenuItem("_Copy - Cell Contents"); menuItemCopy.Click += delegate { ClipBoardUtils.SetText(textBlock.Text); }; list.Add(menuItemCopy); list.Add(new Separator()); var menuItemCopyDataGrid = new TabMenuItem("Copy - _DataGrid"); menuItemCopyDataGrid.Click += delegate { string text = DataGrid.ToStringTable(); if (text != null) { ClipBoardUtils.SetText(text); } }; list.Add(menuItemCopyDataGrid); var menuItemCopyDataGridCsv = new TabMenuItem("Copy - DataGrid - C_SV"); menuItemCopyDataGridCsv.Click += delegate { string text = DataGrid.ToCsv(); if (text != null) { ClipBoardUtils.SetText(text); } }; list.Add(menuItemCopyDataGridCsv); //list.Add(new Separator()); contextMenu.Items = list; textBlock.ContextMenu = contextMenu; }
// TextBlock control doesn't allow selecting text, so add a Copy command to the context menu public static void AddContextMenu(TextBlock textBlock) { var contextMenu = new ContextMenu(); var keymap = AvaloniaLocator.Current.GetService <PlatformHotkeyConfiguration>(); var list = new AvaloniaList <object>(); var menuItemCopy = new TabMenuItem() { Header = "_Copy", Foreground = Brushes.Black, }; menuItemCopy.Click += delegate { ClipBoardUtils.SetText(textBlock.Text); }; list.Add(menuItemCopy); contextMenu.Items = list; textBlock.ContextMenu = contextMenu; }