C# WPF Создать контекстное меню для ячейки DataGridC#

Место общения программистов C#
Ответить
Anonymous
 C# WPF Создать контекстное меню для ячейки DataGrid

Сообщение Anonymous »

Я пытаюсь отобразить контекстное меню на отдельных ячейках DataGrid. Когда пользователь щелкнул правой кнопкой мыши, я хочу, чтобы контекстное меню с указанием «копия в буфер обмена» появилась, и, нажав на нее, оно копирует текст ячейки в буфер обмена. У меня есть код, работающий для TextBlock of StackPanel, но не для ячейки DataGrid. Я взял решение Grek40 из меню содержимого правой кнопки и копировала контент на C# WPF DataGrid и получил его работу, однако он не работает для ячейки DataGrid в коде, указанном ниже. В комментариях к решению Grek40, Michauzo предлагает взглянуть на создание Contextmenus для строк DataGrid и изменить его путем «передачи элемента в качестве параметра команды». Однако, поскольку я изучаю WPF, и я не уверен, что здесь есть.


























Код за следующим:
using System.Windows;
using System.Windows.Input;

namespace WpfApplication2
{
///
/// Interaction logic for MainWindow.xaml
///
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
List users = new List();
users.Add(new User() { Id = 1, Name = "Jane"});
users.Add(new User() { Id = 2, Name = "Bob" });
datagrid1.ItemsSource = users;

}

private void CopyCommand_Executed(object sender, ExecutedRoutedEventArgs e)
{
Clipboard.SetText(e.Parameter as string);
}

private void CopyCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e)
{
if (!string.IsNullOrEmpty(e.Parameter as string))
{
e.CanExecute = true;
e.Handled = true;
}
}
}

public class User
{
public int Id { get; set; }
public string Name { get; set; }
}
}


Подробнее здесь: https://stackoverflow.com/questions/794 ... grid-cells
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»