我有一个带有单个可编辑列的silverlight数据网格。此列有一个组合框。要打开组合,我必须单击单元格三次次。一旦选择行,一次进入编辑模式,一次打开组合。
恕我直言,这是非常糟糕的用户体验,所以当用户点击一下鼠标或鼠标悬停时,我希望该行进入编辑模式,只需单击一下即可打开组合。
如果用户将鼠标放在行上,该行将退出编辑模式。
这可能吗? 解决这个问题的最佳方式是什么?
谢谢, 标记
答案 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将解决问题