我有一个silverlight数据网格与一个单一的可编辑列。该列有一个组合框。要打开组合我必须单击单元格三个次。一次选择行,一次进入编辑模式,一次打开组合。Silverlight的datagrid行编辑模式
恕我直言,这是非常糟糕的UX所以我想该行,当用户执行行点击或鼠标,进入编辑模式,并允许组合要与一个单一的点击时打开。
如果用户将鼠标移出行,该行将退出编辑模式。
这可能吗? 解决这个问题的最好方法是什么?
谢谢, 马克
我有一个silverlight数据网格与一个单一的可编辑列。该列有一个组合框。要打开组合我必须单击单元格三个次。一次选择行,一次进入编辑模式,一次打开组合。Silverlight的datagrid行编辑模式
恕我直言,这是非常糟糕的UX所以我想该行,当用户执行行点击或鼠标,进入编辑模式,并允许组合要与一个单一的点击时打开。
如果用户将鼠标移出行,该行将退出编辑模式。
这可能吗? 解决这个问题的最好方法是什么?
谢谢, 马克
设置datagrid.selectedIndex会解决这个问题
简单的办法:处理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.)
}
}
我希望你抓住ideea。
a)*这里我不确定是否100%正常工作。 (当然,你需要MyComboBox(列模板中定义ComboBox控件)参考*
好运
rlodina
只是出于愚蠢好奇心,这是否已经过测试?我问,因为我需要一些类似的功能,但需要能够使用箭头键导航网格,然后允许用户在开始按键时开始编辑,而无需点击,然后单击你通常必须做的事。Thx。 – 2010-01-27 19:03:22
谢谢rlodina,它的功能很有魅力 – 2012-06-15 23:14:37
新的这个,你如何得到MyComboBox的参考? – epitka 2012-10-05 15:28:17