2015-05-06 39 views
0

里面我有一个像下面电网设计的东西:如何在列焦点移动一个网格单元

这是XAML用于电网: - 我使用的DevExpress gridcontrol在我的应用程序。

<dxg:GridControl ItemsSource="{Binding MyAddresses}"> 
     <dxg:GridControl.View> 
      <dxg:TableView NavigationStyle="Cell"></dxg:TableView> 
     </dxg:GridControl.View> 
     <dxg:GridControl.Columns> 
      <dxg:GridColumn Name="MyAddress" Header="Address" MinWidth="725"> 
       <dxg:GridColumn.CellTemplate> 
        <DataTemplate> 
         <Grid DataContext="{Binding RowData.Row}" HorizontalAlignment="Stretch" VerticalAlignment="Center" Margin="5"> 
          <Grid.RowDefinitions> 
           <RowDefinition Height="Auto"></RowDefinition> 
           <RowDefinition Height="5"></RowDefinition> 
           <RowDefinition Height="Auto"></RowDefinition> 
           <RowDefinition Height="5"></RowDefinition> 
           <RowDefinition Height="Auto"></RowDefinition> 
           <RowDefinition Height="5"></RowDefinition> 
           <RowDefinition Height="Auto"></RowDefinition> 
           <RowDefinition Height="5"></RowDefinition> 
           <RowDefinition Height="Auto"></RowDefinition> 
           <RowDefinition Height="5"></RowDefinition> 
           <RowDefinition Height="Auto"></RowDefinition> 
          </Grid.RowDefinitions> 
          <Grid.ColumnDefinitions> 
           <ColumnDefinition Width="Auto"></ColumnDefinition> 
           <ColumnDefinition Width="5"></ColumnDefinition> 
           <ColumnDefinition MinWidth="250"></ColumnDefinition> 
           <ColumnDefinition Width="25"></ColumnDefinition> 
           <ColumnDefinition Width="Auto"></ColumnDefinition> 
           <ColumnDefinition Width="5"></ColumnDefinition> 
           <ColumnDefinition MinWidth="250"></ColumnDefinition> 
          </Grid.ColumnDefinitions> 

          <TextBlock Grid.Row="0" Grid.RowSpan="3" Grid.Column="0" Text="Address"/> 
          <dxe:TextEdit Grid.Row="0" TextWrapping="Wrap" AcceptsReturn="True" VerticalContentAlignment="Top" Grid.RowSpan="3" Grid.Column="2" MaxLength="2000" VerticalAlignment="Stretch" Text="{Binding PostAddress}"/> 

          <TextBlock Grid.Row="6" Grid.Column="0" Text="Country" /> 
          <dxe:TextEdit Grid.Row="6" Grid.Column="2" Text="{Binding PostCountry}"/> 

          <TextBlock Grid.Row="4" Grid.Column="0" Text="City" /> 
          <dxe:TextEdit Grid.Row="4" Grid.Column="2" MaxLength="100" Text="{Binding City}"/> 

          <TextBlock Grid.Row="8" Grid.Column="0" Text="Postal Code" /> 
          <dxe:TextEdit Grid.Row="8" Grid.Column="2" MaxLength="15" Text="{Binding PostalCode}"/> 

          <TextBlock Grid.Row="10" Grid.Column="0" Text="Subdivision" /> 
          <dxe:TextEdit Grid.Row="10" Grid.Column="2" MaxLength="100" Text="{Binding Subdivision}"/> 

          <TextBlock Grid.Row="0" Grid.Column="4" Text="Email" /> 
          <dxe:TextEdit Grid.Row="0" Grid.Column="6" MaxLength="254" Text="{Binding Email1}"/> 

          <TextBlock Grid.Row="2" Grid.Column="4" Text="Phone" /> 
          <dxe:TextEdit Grid.Row="2" Grid.Column="6" MaxLength="20" Text="{Binding Phone1}"/> 

          <TextBlock Grid.Row="4" Grid.Column="4" Text="Phone" /> 
          <dxe:TextEdit Grid.Row="4" Grid.Column="6" MaxLength="20" Text="{Binding Phone2}"/> 

          <TextBlock Grid.Row="6" Grid.Column="4" Text="Fax" /> 
          <dxe:TextEdit Grid.Row="6" Grid.Column="6" MaxLength="50" Text="{Binding Fax1}"/> 

          <TextBlock Grid.Row="8" Grid.Column="4" Text="Telex" /> 
          <dxe:TextEdit Grid.Row="8" Grid.Column="6" MaxLength="100" Text="{Binding Telex}"/> 

          <TextBlock Grid.Row="10" Grid.Column="4" Text="Web" /> 
          <dxe:TextEdit Grid.Row="10" Grid.Column="6" MaxLength="255" Text="{Binding Web}"/> 

         </Grid> 
        </DataTemplate> 
       </dxg:GridColumn.CellTemplate> 
      </dxg:GridColumn> 
      <dxg:GridColumn FieldName="NewField"/> 
     </dxg:GridControl.Columns> 
    </dxg:GridControl> 

在我有几列第一个单元格,我想在第一个单元格移动光标,然后跳转到第二单元。

有人可以请帮忙。 ![输入图片描述] [1] 我的网格看起来像上面。我专注于第一个领域。在按下标签我想焦点移动到城市字段不是下一个单元格是新场。

有什么建议吗?

[1]: http://i.stack.imgur.com/ENqqP.png 

回答

0

同样的问题在DevExpress的支持中心已经讨论:Tabbing issue in CellTemplate。因此,您可以使用DevExpress支持团队提供的解决方案。

该方案的主要思想是在TabbedView.PreviewKeyDown事件的自定义处理:

void TableView_PreviewKeyDown(object sender, KeyEventArgs e) { 
    if (e.Key == Key.Tab) { 
     // do some custom handling 
     e.Handled = true; // avoid TabbedView's default focus processing 
    } 
} 
+0

感谢@DmitryG – vishal

相关问题