Режим редактирования строки сетки данных Silverlight - PullRequest
2 голосов
/ 26 ноября 2009

У меня есть сетка данных Silverlight с одним редактируемым столбцом. Этот столбец имеет поле со списком. Чтобы открыть комбо, я должен нажать на ячейку три раза. Один раз, чтобы выбрать строку, один раз, чтобы войти в режим редактирования, и один раз, чтобы открыть комбо.

альтернативный текст http://lh4.ggpht.com/_L9TmtwXFtew/Sw6YursbUmI/AAAAAAAAGlg/QJCLu0K7o_8/image_thumb%5B6%5D.png

ИМХО, это действительно плохой UX, поэтому я бы хотел, чтобы строка входила в режим редактирования, когда пользователь щелкает мышью по строке или мыши, и позволяет открывать комбо при одном щелчке.

Строка будет выпадать из режима редактирования, если пользователь отведет указатель мыши от строки.

Возможно ли это? Как лучше всего подойти к этому?

Спасибо, Mark

Ответы [ 2 ]

2 голосов
/ 28 ноября 2009

Простой способ: обработайте DataGrid_MouseLeftButtonUp и установите желаемое поведение.

void  MyDataGrid_MouseLeftButtonUp(sender , e)
{         
     if (MyDataGrid.SelectedItem != null)   //ensure we have current item
     {

         //set current column
         MyDataGrid.CurrentColumn = MyDataGrid.Columns[4];

        //call begin edit
        MyDataGrid.BeginEdit();

       //now open combobox 
       MyComboBox.IsDropDownOpen = true;   // a.) 
   }
}

Надеюсь, вы поймаете идею.

а) * здесь я не уверен, работает ли 100%. (и, конечно, вам нужна ссылка на MyComboBox (элемент управления ComboBox, определенный в шаблоне столбца) *

Удачи
rlodina

0 голосов
/ 28 декабря 2010

установка datagrid.selectedIndex решит проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...