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
Post a Comment