Контекстное меню в DataGrid - C#(WPF)

502
20 июня 2017, 22:34

Пишу академическое десктоп приложение с базой данных. Из базы контент вывожу посредством DataGrid, которое находится в интерфейсе десктоп - клиенте. Хочу сделать функционал в виде контекстного меню (Редактировать, Добавить и например скопировать в буфер обмена). Поступаю следующим образом:

<DataGrid x:Name="ListOfNotes"
          Grid.Column="0"
          Margin="0,20,20,0"
          AlternatingRowBackground="LightGreen"
          Background="White"
          BorderBrush="Black"
          Foreground="Black"
          IsReadOnly="True"
          Loaded="grid_Loaded"
          LoadingRow="ListOfNotes_LoadingRow"
          OpacityMask="Black"
          RowBackground="Green"
          SelectionChanged="ListOfNotes_SelectionChanged">
    <DataGrid.ContextMenu>
        <ContextMenu>
            <MenuItem Header="Add" />
            <MenuItem Header="Edit" />
            <MenuItem Command="Copy" Header="Copy" />
        </ContextMenu>
    </DataGrid.ContextMenu>
</DataGrid>

Но проблема в том, что при выборе строки в DataGrid и при нажатии правой кнопки мыши, строка выделяется и тут же выделение снимается (контекстное меню появляется, а строка не выделяется). Также, хотел бы запретить выделять несколько строк, чтобы избежать проблем при команде "редактирование".

Заранее благодарен за помощь!

Answer 1

Для запрета выделения нескольких строк используйте SelectionMode="Single" SelectionUnit="FullRow".

Насчёт снятия выделения, думаю, это лишь эффект отображения. При показе контекстного меню SelectedItem должен не изменяться. Проверьте!

READ ALSO
Отображение запроса в гриде

Отображение запроса в гриде

ЗдравствуйтеПоявилась проблема с отображением запроса в гриде

251
Электронная подпись XML

Электронная подпись XML

Не могу придти к общему пониманию механизмов подписи xml-документовБуду благодарен за помощь разобраться)

346
Как передать string в textbox?

Как передать string в textbox?

Доброго времени суток! Имеется POST запрос, в котором есть username=" + username + " password = " + password + "

217
JSON Использование

JSON Использование

Подскажите как возможно получить и записать значения json в файле

199