Prevent Silverlight datagrid selectionchanged from killing button click? -


i have datagrid in silverlight has template column in containing button. looks in xaml -

<sdk:datagrid itemssource="{binding items}" selecteditem="{binding selected, mode=twoway}">             <sdk:datagrid.columns>                 <sdk:datagridtemplatecolumn>                     <sdk:datagridtemplatecolumn.celltemplate>                         <datatemplate>                             <button horizontalalignment="right" click="btn_click">                                 <stackpanel orientation="horizontal">                                     <image source="/image.png"/>                                 </stackpanel>                             </button>                         </datatemplate>                     </sdk:datagridtemplatecolumn.celltemplate>                 </sdk:datagridtemplatecolumn>                 <!-- ten other columns -->             </sdk:datagrid.columns>         </sdk:datagrid> 

now, in setup, btn_click event fires fine whenever button clicked (regardless of whether or not row selected. until added selectionchanged event datagrid. first line of xaml -

<sdk:datagrid itemssource="{binding items}" selecteditem="{binding selected, mode=twoway}" selectionchanged="dg_selectionchanged"> 

now btn_click event fire if button clicked on selected row. otherwise fires selectionchanged event only, , never gets button click. selectionchanged event firing understand, because switching selected row. don't understand why btn_click never hit. have ideas on why , how around it?

thanks in advance.

maybe thought button.click event never fires because set breakpoints in btn_click , dg_selectionchanged event handlers. in case debugger enters dg_selectionchanged , never in btn_click. if add textblock in view , add this:

        private void btn_click(object sender, routedeventargs e)         {             textblock.text += "button.click ";         }          private void dg_selectionchanged(object sender, selectionchangedeventargs e)         {             textblock.text += "datagrid.selectionchanged ";         } 

you can see both events raise fine.


Comments

Popular posts from this blog

php - What is the difference between $_SERVER['PATH_INFO'] and $_SERVER['ORIG_PATH_INFO']? -

fortran - Function return type mismatch -

queue - mq_receive: message too long -