I am using the xamDataGrid and edit template is assigned to one of the Field of the DataGrid -
xmlns
:infra="http://infragistics.com/Editors"
<Style x:Key="ComboStyle" TargetType="{x:Type infra:ValueEditor}"> <Setter Property ="EditTemplate"> <Setter.Value> <ControlTemplate TargetType="{x:Type infra:ValueEditor}"> <ComboBox Name="uxFacility" Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged }"> </ComboBox> </ControlTemplate> </Setter.Value> </Setter></Style>
This edit template gets assigned to the field at runtime. Now if I use the key board to traverse to the perticular cell (field). as per the template above the combobox gets displayed in the cell but the focus still remains on the cell. I want the focus to get shift to the combox the moment it gets displayed.
any clues?
Thanks in advance.
~Sachin
Sachin,
In orde for the XamTextEditor to appear again, the Cell must end its edit mode.
To do this, you would have to handle probably selection changed event of the Combo and go up the element tree and find the CellValuePresenter and call the EndEditMode method.
Something like this:
CellValuePresenter cvp = Utilities.GetAncestorFromType(e.OriginalSource as DependencyObject, typeof(CellValuePresenter), false) as CellValuePresenter;
cvp.EndEditMode(true,true);
Let me know if you have any questions on this.
Alex.
Alex,
One more query here.
I have applied a combobox as the EditDataTemplate for the column of the DataGrid. Now i want the combobox to disappear and the selected text should get displayed in the grid cell(field) whenever i select the item from combobox.
Any clues how this can be done.
Try with FieldLayoutInitialized instead of InitializeRecord.
InitializeRecord would fire each time a record is initialized (when scrolled out-into view,grouped, ungrouped, etc).
Thanks for your support.
Now i got the problem. I was assigning the style to the field in the Window_Loaded event. If I assign the style in XamDataGrid_InitializeRecord event it works fine.
Thanks...
As I can see in your project, you have both references for 8.2 and 9.1.
Here is a screenshot of what I am getting when I run the project and apply the style from the code behind.
Make sure you do not have ambiguous references.
Regards,