У меня есть tabcontrol, и я помещаю сетку данных в tabcontrol ... Но я не мог сфокусировать этот Datagrid на событии загрузки ... Фокус означает, что я не мог перемещаться по нему через клавиатуру ... проблема только внутри вкладки, иначе она работает нормально ...
Мой код xaml выглядит следующим образом ...
<Window x:Class="WpfApplication12.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" WindowState="Maximized" >
<Border DockPanel.Dock="Top">
<Grid>
<TabControl x:Name="tcOpenForms" SelectedIndex="0" TabStripPlacement="Bottom" >
<DataGrid HorizontalAlignment="Left" AutoGenerateColumns="False" Width="359" Name="grd_boview" Canvas.Left="12" Canvas.Top="12" Height="640" IsReadOnly="True" SelectionMode="Single" HorizontalScrollBarVisibility="Disabled">
<DataGrid.Columns>
<DataGridTextColumn Header="BO.ID" Binding="{Binding acct_code}" />
<DataGridTextColumn Binding="{Binding acct_name}" Header="BO.Name" />
</DataGrid.Columns>
</DataGrid>
</TabControl>
</Grid>
</Border>
</Window>
Мой код C # выглядит следующим образом
namespace WpfApplication12
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Loaded += new RoutedEventHandler(MainWindow_Loaded);
}
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
SqlConnection sqlcon = new SqlConnection("server=ibmserver;uid=sa;pwd=zillion;database=ecdslxyz20102011");
SqlCommand sqlcmd = new SqlCommand("select * from account", sqlcon);
SqlDataAdapter sqldac = new SqlDataAdapter(sqlcmd);
DataSet ds = new DataSet();
sqldac.Fill(ds, "Test");
grd_boview.ItemsSource = ds.Tables["Test"].DefaultView;
grd_boview.Focus();
grd_boview.SelectedIndex = 0;
}
}
}
(1) Обратите внимание, что фокус означает, что я не могу перемещаться по сетке данных через клавиатуру
(2) Это должно быть в событии загрузки ...... Потому что оно отлично работает в других событиях ...
(3) Datagrid должен быть размещен внутри элемента управления вкладками ... Потому что он отлично работает вне элемента управления вкладками .....
Надеюсь, ты мне поможешь ...
Заранее спасибо