【问题标题】:Silverlight datagrid row edit modeSilverlight datagrid 行编辑模式
【发布时间】:2010-12-20 17:26:57
【问题描述】:

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

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

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

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

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

谢谢, 标记

【问题讨论】:

    标签: silverlight datagrid


    【解决方案1】:

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

    祝你好运
    罗地那

    【讨论】:

    • 只是出于愚蠢的好奇,这已经测试了吗?我问是因为我需要一些类似的功能,但需要能够使用箭头键导航网格,然后允许用户在击键开始时无需单击即可开始编辑,然后单击您通常必须做。谢谢。
    • 新手,如何获得对 MyComboBox 的引用?
    【解决方案2】:

    设置 datagrid.selectedIndex 将解决问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多