Frage

Ich habe eine Silverlight-Datagrid mit einer einzigen editierbaren Spalte. Diese Spalte hat ein Kombinationsfeld. So öffnen Sie die Combo ich habe auf die Zelle klicken Sie auf drei Zeiten. Sobald die Zeile auszuwählen, einmal Bearbeitungsmodus einzugeben und einmal die Combo zu öffnen.

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

IMHO das ist wirklich schlecht UX so würde ich die Zeile wie Bearbeitungsmodus zu wechseln, wenn der Benutzer eine Zeile klicken oder die Maus über das tut und der Combo erlaubt geöffnet werden, wenn sie mit einem einzigen Mausklick.

Die Zeile würde dann aus den Bearbeitungsmodus fallen, wenn der Benutzer eine Maus aus der Reihe der Fall ist.

Ist das möglich? Was ist der beste Weg, um diesen Ansatz?

Danke, Mark

War es hilfreich?

Lösung

Einstellung datagrid.selectedIndex das Problem behebt

Andere Tipps

Einfache Art und Weise. Griff DataGrid_MouseLeftButtonUp und Ihr gewünschtes Verhalten machen

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

Ich hoffe, dass Sie die ideea fangen.

a) * hier bin ich, wenn 100% arbeitet nicht sicher. (Und, natürlich, müssen Sie einen Verweis auf MeineComboBox (ComboBox-Steuerelement in Spalte Vorlage definiert) *

Viel Glück
rlodina

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top