代码之家  ›  专栏  ›  技术社区  ›  Mark Cooper

Silverlight数据报行编辑模式

  •  2
  • Mark Cooper  · 技术社区  · 15 年前

    我有一个具有单个可编辑列的Silverlight数据报。此列有一个组合框。要打开组合框,我必须单击单元格 时代。一次选择行,一次进入编辑模式,一次打开组合框。

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

    imho这是一个非常糟糕的UX,所以我希望当用户单击一行或鼠标时该行进入编辑模式,并允许在单击一次时打开组合框。

    如果用户将鼠标移到行上,那么该行将退出编辑模式。

    这有可能吗? 最好的方法是什么?

    谢谢, 作记号

    2 回复  |  直到 14 年前
        1
  •  0
  •   user556177    14 年前

    设置datagrid.selectedIndex将解决此问题

        2
  •  2
  •   rlodina    15 年前

    简单方法:处理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控件)的引用)*

    祝你好运
    罗迪纳