В infragistics xamdatagrid как да изберете ред при щракване с десен бутон

В XAML имам този код

<igDP:FieldLayout.FieldSettings>
    <igDP:FieldSettings AllowRecordFiltering="True" CellClickAction="SelectRecord" AllowEdit="False"/>
</igDP:FieldLayout.FieldSettings>

Тук действието CellClickAction е за левия клик. Има ли някакво съответно действие и за щракване с десния бутон, за да изберете записа. Искам записът да бъде избран и с левия, и с десния клик


person Manan Shah    schedule 28.01.2013    source източник
comment
Може ли някой да помогне   -  person Manan Shah    schedule 29.01.2013
comment
Има отговор на това във форумите на Infragistics: infragistics.com/community /forums/p/50707/266205.aspx   -  person alhalama    schedule 13.02.2013


Отговори (1)


създайте стил за DataRecordPresenter (визуалния елемент на DataRecord) с EvenSetter като за събитието MouseRightButtonDown като това:

<Style TargetType="{x:Type igDP:DataRecordPresenter}">
    <EventSetter Event="MouseRightButtonDown" Handler="DataRecordPresenter_MouseRightButtonDown" />
</Style>

и използвайте тези кодови фрагменти в неговия манипулатор на събития:

void DataRecordPresenter_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
    // Clear previous selcted rows        
    (sender as DataRecordPresenter).Record.IsSelected = true;
}

Тук има един проблем: ако продължите да щракнете с десния бутон върху редове/клетка в различен ред, той избира няколко реда. Така че изчистете всяка предишна селекция, след което ще работи.

person WPFKK    schedule 14.05.2015
comment
Командата за изчистване ще бъде dataGrid.ExecuteCommand(DataPresenterCommands.ClearAllSelected);, ако dataGrid е името на вашата контрола на мрежата. - person Alexander Schmidt; 17.05.2016