質問

編集可能な列が1つあるsilverlightデータグリッドがあります。この列にはコンボボックスがあります。コンボを開くには、セルを 3回クリックする必要があります。行を選択するために1回、編集モードに入るために1回、コンボを開くために1回。

代替テキストhttp://lh4.ggpht .com / _L9TmtwXFtew / Sw6YursbUmI / AAAAAAAAGlg / QJCLu0K7o_8 / image_thumb%5B6%5D.png

IMHOこれは本当に悪い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.) 
   }
}

アイデアをキャッチしてください。

a)*ここで、100%動作しているかどうかわかりません。 (そしてもちろん、MyComboBox(列テンプレートで定義されたComboBoxコントロール)への参照が必要です*

幸運
rlodina

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top