WPF XAML - How to bind a DataTrigger to a ComboBox value -
i have listview takes in item , displays combobox , button.
i dynamically show or hide button based on value of combobox being equal "blahblahblah".
currently inside of <gridview> looks this:
<gridviewcolumn header="property" width="160"> <gridviewcolumn.celltemplate> <datatemplate> <combobox x:name="propertycombobox" itemssource="{binding path=arisingpropertylist, mode=twoway}" selectedvalue="{binding arisingproperty.propertyname, updatesourcetrigger=propertychanged}" selectedvaluepath="propertyname" width="140" > </combobox> </datatemplate> </gridviewcolumn.celltemplate> </gridviewcolumn> <gridviewcolumn width="30" > <gridviewcolumn.celltemplate> <datatemplate> <button content="..."> <button.style> <style targettype="{x:type button}"> <style.triggers> <datatrigger binding="{binding path=selectedvalue.propertyname, elementname=propertycombobox}" value="hidebutton"> <setter property="visibility" value="blahblahblah" /> </datatrigger> </style.triggers> </style> </button.style> </button> </datatemplate> </gridviewcolumn.celltemplate> </gridviewcolumn> can point out i'm going wrong? i'm getting is:
system.windows.data error: 4 : cannot find source binding reference 'elementname=propertycombobox'. bindingexpression:path=selectedvalue.propertyname; dataitem=null; target element 'button'; target property 'notarget' (type 'object')
you have bounded selectedvalue property source class, bind directly property instead of combobox. issue combobox , button lies in different visual trees can't bind using elementname.
<datatrigger binding="{binding path=arisingproperty.propertyname}" value="hidebutton"> <setter property="visibility" value="collapsed" /> </datatrigger>
Comments
Post a Comment