现有需求:当给一览画面插入一行数据时,数据插入后自动启动这个数据的编辑画面。
为了使得列内容能够进行编辑利用了:TemplateColumn.ItemTemplate,自定义编辑画面使用:TemplateColumn.EditorTemplate
代码如下:
代码如下:
<Button x:Name="add"/> ------------给一览画面插入一行数据
<XamGrid x:Name="_decisionItemsGrid"
Grid.Row="1"
AutoGenerateColumns="True"
HeaderTextHorizontalAlignment="Center">
<XamGrid.EditingSettings>
<ig:EditingSettings AllowEditing="Cell"
IsEnterKeyEditingEnabled="True"
IsF2EditingEnabled="True"
IsMouseActionEditingEnabled="SingleClick"
IsOnCellActiveEditingEnabled="True" />
</XamGrid.EditingSettings>
<ig:TemplateColumn Key="Directions"
Width="60"
HorizontalContentAlignment="Center"
HeaderText="左右">
<ig:TemplateColumn.ItemTemplate>
<DataTemplate>
<TextBlock Width="Auto"
HorizontalAlignment="Center"
Text="{Binding Path=DirectionName,
Mode=OneWay}" />
</DataTemplate>
</ig:TemplateColumn.ItemTemplate>
<ig:TemplateColumn.EditorTemplate>
<DataTemplate>
<idc:SelectDirections x:Name="_SelectDirections" --------自定义编辑窗口画面
Width="Auto"
Height="Auto"
DirectionName="{Binding Path=DirectionName,
Mode=TwoWay}"/>
</DataTemplate>
</ig:TemplateColumn.EditorTemplate>
</ig:TemplateColumn>
</XamGrid>
调查发现当编辑插入一览数据时,这个编辑画面根本就没有被初始化,无法自动启动。编辑画面只有在点击进入编辑状态时才进行初始化表示出来。
现在有想法就是:
1.cell是不是应该有个什么属性进行设置了就相当于在进行编辑,编辑画面就可以启动了。(不知道该怎么实现,Cells[2].IsActive=true,Cells[2].IsSelected=true都已经试过了,不能进入编辑状态)
2.怎么能够触发编辑cell的点击事件来进入编辑状态而启动编辑画面,但不知道该怎么去实现。
希望各位大神能够帮帮忙,看怎么能够实现!!!!或者有什么更好的替代方法。先谢谢了