【发布时间】:2010-10-04 09:34:29
【问题描述】:
在 SL4 DataGrid 中,我有以下多控件列:
<sdk:DataGridTemplateColumn Header="Address Line1
Address Line 2" MinWidth="200">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=Address1}"/>
<TextBlock Text="{Binding Path=Address2}"/>
</StackPanel>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
<sdk:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<StackPanel>
<TextBox Background="Transparent" BorderThickness="0"
TabIndex="0"
Text="{Binding Path=Address1, Mode=TwoWay}"/>
<TextBox Background="Transparent" BorderThickness="0"
TabIndex="1"
Text="{Binding Path=Address2, Mode=TwoWay}"/>
</StackPanel>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellEditingTemplate>
</sdk:DataGridTemplateColumn>
在编辑模式下,在地址 1 上按 Tab 键会将焦点移动到下一个 DataGrid 列,而不是地址 2 文本框。如果我将 CellTemplate 和 CellEditingTemplate 删除为 CellTemplate,则 TabIndex 按预期工作,但是,当前列保持不变,因此如果 datagrid 有很多列,其中一些是隐藏的,则不会发生自动滚动。我应该怎么做才能解决这个问题?
【问题讨论】:
标签: datagrid silverlight-4.0 scroll focus