.net - Silverlight HyperlinkButton in DataGrid column. Have to click twice -


i have datagrid column has hyperlinkbuttons. have click button twice have button it's supposed do. think first click selects row.

i believe may going on event doesn't bubble (or down?) hyperlink button.

ideas?

edit

here's xaml:

    <sdk:datagrid grid.row="1" x:name="workflowsgrid" margin="6,20,6,0" itemssource="{binding filteredsource,elementname=workflowsfilter}"           autogeneratecolumns="false" selecteditem="{binding selectedworkflow,mode=twoway}"               selectionchanged="workflowsgrid_selectionchanged">     <sdk:datagrid.columns>         <sdk:datagridtextcolumn header="name" binding="{binding description}"/>                   <sdk:datagridtemplatecolumn header="action" >             <sdk:datagridtemplatecolumn.celltemplate>                 <datatemplate>                     <contentcontrol content="{binding converter={staticresource actionconverter}}"/>                 </datatemplate>             </sdk:datagridtemplatecolumn.celltemplate>         </sdk:datagridtemplatecolumn>     </sdk:datagrid.columns> </sdk:datagrid> 

and here's converter adds hyperlink buttons:

/// <summary> /// dynamically controls action cell in workflows grid /// </summary> protected class actionvalueconverter : ivalueconverter {     private workflowmanager _page;     public actionvalueconverter(workflowmanager page)     {         _page = page;     }      public object convert(object value, type targettype, object parameter, system.globalization.cultureinfo culture)     {         var workflow = (workflowinstance)value;         if (workflow.status == "complete")         {             // create hyperlink buttons each action workflow supports             var btns = workflow.definition.actions                 .select(x =>                 {                     hyperlinkbutton btn = new hyperlinkbutton                     {                         tag = tuple.create(workflow, x.key),                         content = x.value,                     };                     btn.click += new routedeventhandler(_page.actionbutton_click);                     return btn;                 });              // stack panel contain buttons             stackpanel sp = new stackpanel { orientation = orientation.vertical };             foreach (var btn in btns)                 sp.children.add(btn);              return sp;         }         else if (workflow.status == "in progress")         {             // create cancel hyperlink button             hyperlinkbutton btncancel = new hyperlinkbutton { content = "cancel", tag = tuple.create(workflow, "cancel") };             btncancel.click += new routedeventhandler(_page.actionbutton_click);             return btncancel;         }         else         {             throw new exception("workflow status not supported: " + workflow.status);         }     }      public object convertback(object value, type targettype, object parameter, system.globalization.cultureinfo culture)     {         throw new notimplementedexception();     } } 

may should use edit template instead of cell template specified in following link:

http://forums.silverlight.net/p/132619/296134.aspx

that ways link column in edit mode , should require single click.

edit:

<sdk:datagridtemplatecolumn.celleditingtemplate > 

instead of

<sdk:datagridtemplatecolumn.celltemplate> 

hope helps!


Comments

Popular posts from this blog

c# - How to set Z index when using WPF DrawingContext? -

razor - Is this a bug in WebMatrix PageData? -

visual c++ - Using relative values in array sorting ( asm ) -