c# - WPF DataGrid - Databinding Column to Page's ViewModel -


i'm trying bind data on 1 of columns data that's in page's viewmodel (as opposed objects grid bound to).

what have below recommended here, no avail.

   <datagridtemplatecolumn>       <datagridtemplatecolumn.celltemplate>          <datatemplate>             <button content="{binding elementname=layoutroot, path=datacontext.junk}"></button>          </datatemplate>       </datagridtemplatecolumn.celltemplate>    </datagridtemplatecolumn> 

in viewmodel

public string junk { get; set; } 

which set "hello" in viewmodel's constructor

does see i'm doing wrong?

edit

here's entire xaml. relevant column way @ bottom, in grid within grid

also - i'm having trouble getting entire source here again (not sure if it's citrix or what) took same exact binding expression that's not working in datagrid's button, , dropped onto text of plain old textblock apart grid, , worked charm. added new dummy text column grid, , used same binding expression text, , still did not work. seems binding expression fine, refuses work anywhere near grid.

<usercontrol x:class="mainapp.wpf.ucfmvhistorydisplaygrid"              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"               xmlns:d="http://schemas.microsoft.com/expression/blend/2008"               mc:ignorable="d"               d:designheight="300" d:designwidth="1000" x:name="layoutroot">  <usercontrol.resources>     <style x:name="rightalignedcolumn" x:key="rightalignedcolumn" targettype="textblock">         <setter property="horizontalalignment" value="right" />     </style>      <style x:name="centeralignedcolumn" x:key="centeralignedcolumn" targettype="textblock">         <setter property="horizontalalignment" value="center" />     </style> </usercontrol.resources>  <grid>     <datagrid x:name="dbtop" itemssource="{binding propertygroupsource}" horizontalalignment="left" background="white" canuseraddrows="false" canuserdeleterows="false" canuserreordercolumns="false" canuserresizerows="false" isreadonly="true" autogeneratecolumns="false" grid.row="1" width="800">         <datagrid.columns>             <datagridtextcolumn width="120" header="property num" binding="{binding propertynum}"></datagridtextcolumn>             <datagridtextcolumn width="120" header="alt description" binding="{binding altdescription}"></datagridtextcolumn>             <datagridtextcolumn width="80" header="county" binding="{binding county}"></datagridtextcolumn>             <datagridtextcolumn width="100" header="state" binding="{binding state}" elementstyle="{staticresource centeralignedcolumn}"></datagridtextcolumn>             <datagridtextcolumn width="85" header="phase" binding="{binding phase}"></datagridtextcolumn>             <datagridtextcolumn width="85" header="fmv" binding="{binding fmvtotal}"></datagridtextcolumn>             <datagridtextcolumn width="100" header="assessed value" binding="{binding assessedvaluetotal}"></datagridtextcolumn>         </datagrid.columns>         <datagrid.rowdetailstemplate>             <datatemplate>                 <border margin="5" borderbrush="black" borderthickness="1">                     <datagrid margin="5" background="white" canuseraddrows="false" canuserdeleterows="false" canuserreordercolumns="false" canuserresizerows="false" isreadonly="true" autogeneratecolumns="false" grid.row="1" itemssource="{binding propertyfmvsource}">                         <datagrid.columns>                             <datagridtextcolumn width="125" header="county acct num" binding="{binding property.countyaccountnum, stringformat=d}" elementstyle="{staticresource rightalignedcolumn}"></datagridtextcolumn>                             <datagridtextcolumn width="80" header="city" binding="{binding property.city, stringformat=d}" elementstyle="{staticresource rightalignedcolumn}"></datagridtextcolumn>                             <datagridtextcolumn width="80" header="jurisdiction" binding="{binding property.jurisdiction, stringformat=d}" elementstyle="{staticresource rightalignedcolumn}"></datagridtextcolumn>                             <datagridtextcolumn width="80" header="fmv date" binding="{binding mostrecentfmv.fmvdate, stringformat=d}" elementstyle="{staticresource rightalignedcolumn}"></datagridtextcolumn>                             <datagridtextcolumn width="100" header="fmv" binding="{binding mostrecentfmv.fmv, stringformat=n0}" elementstyle="{staticresource rightalignedcolumn}"></datagridtextcolumn>                             <datagridtextcolumn width="85" header="assess ratio" binding="{binding mostrecentfmv.assessmentratio, stringformat=n3}" elementstyle="{staticresource rightalignedcolumn}"></datagridtextcolumn>                             <datagridtextcolumn width="105" header="assessed value" binding="{binding mostrecentfmv.assessedvalue, stringformat=n0}" elementstyle="{staticresource rightalignedcolumn}"></datagridtextcolumn>                             <datagridtemplatecolumn>                                 <datagridtemplatecolumn.celltemplate>                                     <datatemplate>                                         <button content="{binding elementname=layoutroot, path=datacontext.junk}"></button>                                     </datatemplate>                                 </datagridtemplatecolumn.celltemplate>                             </datagridtemplatecolumn>                         </datagrid.columns>                     </datagrid>                 </border>             </datatemplate>         </datagrid.rowdetailstemplate>     </datagrid> </grid> 

binding datacontext of containing datagrid using relativesource binding should work:

<button content="{binding relativesource={relativesource mode=findancestor, ancestortype=datagrid, ancestorlevel=2}, path=datacontext.junk}"></button> 

as you've nested datagrids, ancestorlevel must set "2" bind datacontext of outermost datagrid.


Comments

Popular posts from this blog

apache - Add omitted ? to URLs -

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

php - How can I stop spam on my custom forum/blog? -