Pergunta

Eu tenho um datagrid Silverlight com uma única coluna editável. Esta coluna tem uma caixa de combinação. Para abrir a combinação i tem que clicar sobre a célula três vezes. Uma vez para selecionar a linha, uma vez para entrar no modo de edição, e uma vez para abrir a combinação.

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

IMHO isso é muito ruim UX então eu gostaria que a fila para entrar no modo de edição quando o usuário faz uma fileira clique ou mouse sobre e permitir que a combinação para ser aberta quando com um único clique.

A linha, então, cair fora do modo de edição se o usuário faz um mouse para fora da linha.

Isso é possível? Qual é a melhor maneira de abordar isso?

Obrigado, Mark

Foi útil?

Solução

ajuste datagrid.selectedIndex irá corrigir o problema

Outras dicas

Maneira simples:. Alça DataGrid_MouseLeftButtonUp e fazer o seu comportamento desejado

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.) 
   }
}

Eu espero que você pegar o ideea.

a) * aqui eu não tenho certeza se 100% de trabalho. (E, é claro, você precisa de uma referência ao controle MyComboBox (ComboBox definido no modelo de coluna) *

Boa sorte
rlodina

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top