Silverlight数据网格行编辑模式

时间:2009-11-26 15:13:57

标签: silverlight datagrid

我有一个带有单个可编辑列的silverlight数据网格。此列有一个组合框。要打开组合,我必须单击单元格三次次。一旦选择行,一次进入编辑模式,一次打开组合。

alt text http://lh4.ggpht.com/_L9TmtwXFtew/Sw6YursbUmI/AAAAAAAAGlg/QJCLu0K7o_8/image_thumb%5B6%5D.png

恕我直言,这是非常糟糕的用户体验,所以当用户点击一下鼠标或鼠标悬停时,我希望该行进入编辑模式,只需单击一下即可打开组合。

如果用户将鼠标放在行上,该行将退出编辑模式。

这可能吗? 解决这个问题的最佳方式是什么?

谢谢, 标记

2 个答案:

答案 0 :(得分:2)

简单方法:处理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.) 
   }
}

我希望你能抓住这个想法。

a)*在这里我不确定100%是否正常工作。 (当然,您需要对MyComboBox的引用(列模板中定义的ComboBox控件)*

祝你好运 rlodina

答案 1 :(得分:0)

设置datagrid.selectedIndex将解决问题