Tuesday 15 March 2011

c# - Set d:DesignInstance in XAML for DataGridColumn -



c# - Set d:DesignInstance in XAML for DataGridColumn -

i have usercontrol design datacontext:

d:datacontext="{d:designinstance designtime:designviewmodel, isdesigntimecreatable=true}"

it works pretty fine! have datagrids itemsource-bindings collections specific types.

my problem datagridcolumns! example:

<datagrid itemssource="{binding orderedpositions}"> <datagrid.columns> <datagridtextcolumn binding="{binding positiondefinitionid}" />

i thought when have itemssource="{binding orderedpositions}", it´s clear, positiondefinitionid propertyitem of orderedpositions collection. it´s not.

now must d:designinstance explicitly set, in each datagridcolumn! that's not nice solution:

<datagridtextcolumn binding="{binding positiondefinitionid}" d:datacontext="{d:designinstance system:position, isdesigntimecreatable=true}" />

in position specific type of orderedpositions collection. there way work around problem? not have set d:datacontext explicitly in each column?

if explicitly implement datatemplate celltemplate of datagridtextcolumn able define design time instance, e.g. next illustration telerik gridviewdatacolum (the fact telerik illustration irrelevant):

<tel:gridviewdatacolumn datamemberbinding="{binding path=code, mode=oneway}"> <tel:gridviewcolumn.celltemplate> <datatemplate> <textblock d:datacontext="{d:designinstance ca:messageviewmodel}" text="{binding path=code, mode=oneway}" tooltip="{binding path=codetext, mode=oneway}"> </textblock> </datatemplate> </tel:gridviewcolumn.celltemplate> </tel:gridviewdatacolumn>

c# wpf xaml datacontext

No comments:

Post a Comment