powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / События мыши в GridControl
11 сообщений из 11, страница 1 из 1
События мыши в GridControl
    #37204833
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чем может заключаться проблема. GridControl не обрабатывает события MouseRightButtonUp при нажатии на правую кнопку мыши. Как же все-же вызвать ContextMenu при нажатии. Ну замучился уже. Помогите пожалуйста.
Вот код Grid
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
<dxg:GridControl Name="gridControl_Plan" AutoPopulateColumns="False" 
                         DataSource="{Binding ElementName=z_plan_nameDomainDataSource, Path=Data}" 
                         ShowBorder="False" Height="352" VerticalAlignment="Bottom" 
                         Grid.ColumnSpan="2" FilterString="name" MouseRightButtonUp="gridControl_Plan_MouseRightButtonUp_1">
            
           <dxg:GridControl.View>
                <dxg:TableView Name="Control_Plan" AutoWidth="True" 
                               ShowGroupPanel="False" ScrollingMode="Smart" 
                               AllowColumnFiltering="True" 
                               AllowFilterEditor="True" TabNavigation="Once" Margin="0,0,0,0" >
                </dxg:TableView>
            </dxg:GridControl.View>
          
            <dxg:GridControl.Columns>
               <dxg:GridColumn FieldName="kod_speciality" 
                               DataContext="{Binding ElementName=z_plan_nameDomainDataSource, Path=Data}" 
                               Header="Код специальности" ReadOnly="True"  >
               </dxg:GridColumn>
               <dxg:GridColumn FieldName="name" 
                               DataContext="{Binding ElementName=z_plan_nameDomainDataSource, Path=Data}" 
                               Header="Имя" ReadOnly="True">
               </dxg:GridColumn>
           </dxg:GridControl.Columns>  
        </dxg:GridControl>
C#
Код: plaintext
1.
2.
3.
4.
5.
private void gridControl_Plan_MouseRightButtonUp_1(object sender, MouseButtonEventArgs e)
         {
contextMenu1.Visibility = Visibility;

         }
...
Рейтинг: 0 / 0
События мыши в GridControl
    #37204930
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Часть проблемы решил. Правая кнопка мыши заработала. Оказывается нужно было выставить параметр Handled в true
Код: plaintext
1.
2.
3.
4.
private void gridControl_Plan_MouseRightButtonUp_1(object sender, MouseButtonEventArgs e)
         {
             e.Handled = true;
}
Осталось разобраться с позиционированием contextMenu.
...
Рейтинг: 0 / 0
События мыши в GridControl
    #37205143
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поспешил я с выводом. "Праваякнопкамыши" работает только когда указатель находится не над записью, а на пустом поле.
...
Рейтинг: 0 / 0
События мыши в GridControl
    #37205292
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorПоспешил я с выводом. "Праваякнопкамыши" работает только когда указатель находится не над записью, а на пустом поле.
Потому что "не пустое поле" делает для события клика e.Handled = true. Глянте snoop'ом что обрывает событие клика.

На счет менюшки - юзайте свойство ContextMenu контролсов. Зря что ли его придумали?
...
Рейтинг: 0 / 0
События мыши в GridControl
    #37205340
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Руки-крюкиChek_FedorПоспешил я с выводом. "Праваякнопкамыши" работает только когда указатель находится не над записью, а на пустом поле.
Потому что "не пустое поле" делает для события клика e.Handled = true. Глянте snoop'ом что обрывает событие клика.

Как глянуть? Нашел такое свойство
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<dxg:TableView Name="Control_Plan" AutoWidth="True" 
                               ShowGroupPanel="False" ScrollingMode="Smart" 
                               AllowColumnFiltering="True" 
                               AllowFilterEditor="True" TabNavigation="Once" Margin="0,0,0,0" 
                               [color=red][color=green]ShowGridMenu="Control_Plan_ShowGridMenu"[/color][/color]
                               >
                </dxg:TableView>
При нажатии на правую кнопку происходит это событие
Руки-крюкиНа счет менюшки - юзайте свойство ContextMenu контролсов. Зря что ли его придумали?
Юзал в свойствах ContextMenu нифига не нашел хотя если прилажу событие "Праваякнопкамыши", то както так
Код: plaintext
1.
2.
3.
4.
5.
Point position = e.GetPosition(null);
string a = position.X.ToString();
 string b = position.Y.ToString();
Menu_Popup.Margin=a,b, 0 , 0 ; // тут под вопросом
 Menu_Popup.Visibility=Visibility;
Пока четно
...
Рейтинг: 0 / 0
События мыши в GridControl
    #37205562
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorЮзал в свойствах ContextMenu нифига не нашел
Аргх...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
        <Grid>
            <Grid.ContextMenu>
                <ContextMenu>
                    <MenuItem Header="Add" />
                    <MenuItem Header="Add2" />
                    <MenuItem Header="Add3" />
                    <MenuItem Header="Remove" />
                </ContextMenu>
            </Grid.ContextMenu>
        </Grid>

И оно само будет показывать менюшку по нажатию правой кнопки на гриде и его дочерних контролах. Если конечно котролы не оборвут маршрут события клика.
...
Рейтинг: 0 / 0
События мыши в GridControl
    #37205646
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Руки-крюкиChek_FedorЮзал в свойствах ContextMenu нифига не нашел
Аргх...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
        <Grid>
            <Grid.ContextMenu>
                <ContextMenu>
                    <MenuItem Header="Add" />
                    <MenuItem Header="Add2" />
                    <MenuItem Header="Add3" />
                    <MenuItem Header="Remove" />
                </ContextMenu>
            </Grid.ContextMenu>
        </Grid>

И оно само будет показывать менюшку по нажатию правой кнопки на гриде и его дочерних контролах. Если конечно котролы не оборвут маршрут события клика.
Эх, и нафига я изначально поместил DevExpress'овский GridControl теперь мучайся... Нет там такого
...
Рейтинг: 0 / 0
События мыши в GridControl
    #37205649
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя демка у них есть только не разобраться мне в ней самому
...
Рейтинг: 0 / 0
События мыши в GridControl
    #37206793
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorЭх, и нафига я изначально поместил DevExpress'овский GridControl теперь мучайся... Нет там такого

Разместите DevExpress'овский GridControl внутри любой панельки и задайте этой панельке контекст меню.
...
Рейтинг: 0 / 0
События мыши в GridControl
    #37216647
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотел разместить DevExpress'овский компонент в Grid'e так ругается на <Grid.ContextMenu>. В чем дело?
...
Рейтинг: 0 / 0
События мыши в GridControl
    #37217005
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема решена оказалось все намного проще
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<dxg:TableView x:Name="view" AutoWidth="True">
    <dxg:TableView.RowCellMenuCustomizations>
        <dxb:BarButtonItem Name="deleteRowItem" Content="Delete" 
                           ItemClick="deleteRowItem_ItemClick"/>
        <dxb:BarButtonItem Name="copyCellDataItem" Content="Copy Cell Data" 
                           ItemClick="copyCellDataItem_ItemClick" />
    </dxg:TableView.RowCellMenuCustomizations>
</dxg:TableView>
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / События мыши в GridControl
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]