문제

단일 편집 가능한 열이있는 Silverlight Datagrid가 있습니다. 이 열에는 콤보 상자가 있습니다. 콤보를 열려면 셀을 클릭해야합니다. 타임스. 한 번 행을 선택하고 편집 모드로 입력 한 다음 콤보를 열기 위해 한 번.

대체 텍스트 http://lh4.ggpht.com/_l9tmtwxftew/sw6yursbumi/aaaaaaaaglg/qjclu0k7o_8/image_thumb%5B6%5D.png

IMHO 이것은 UX가 정말 나쁜 UX이므로 사용자가 행을 클릭하거나 마우스를 클릭 할 때 행이 편집 모드로 들어가고 한 번 클릭 할 때 콤보를 열 수 있습니다.

사용자가 행에서 마우스를 사용하면 행이 편집 모드에서 떨어집니다.

이게 가능해? 이것에 접근하는 가장 좋은 방법은 무엇입니까?

감사합니다, 마크

도움이 되었습니까?

해결책

DataGrid.SelectedIng을 설정하면 문제가 해결됩니다

다른 팁

간단한 방법 : 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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top