// 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;
    }
Exemple #2
0
    // 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;
    }