【发布时间】:2011-03-26 04:42:33
【问题描述】:
我正在使用 WPF 工具包提供的 DataGrid 控件来显示产品列表及其 OpenStock、描述等。在此 DataGrid 中,我已将 OpenStock 列设置为可编辑,其余列不可编辑。我现在想要什么,当我的这个窗口加载时,我想将键盘焦点设置到 OpenStock 列的第一个单元格,如果可能的话,在编辑模式下。我搜索了 2 天,最后在这里发布。
任何帮助或代码示例都会有所帮助。
<my:DataGrid AutoGenerateColumns="False" ItemsSource="{Binding}" Margin="2,2,2,55"
x:Name="dataGrid1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Background="White"
AlternatingRowBackground="AliceBlue" AlternationCount="2" SelectionMode="Single"
SelectionUnit="Cell" BorderThickness="0" IsTabStop="True">
<my:DataGrid.Resources>
<Style x:Key="errorStyle" TargetType="{x:Type TextBox}">
<Setter Property="Padding" Value="-2"/>
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="True">
<Setter Property="Background" Value="Yellow"/>
<Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self},
Path=(Validation.Errors)[0].ErrorContent}"/>
</Trigger>
</Style.Triggers>
</Style>
</my:DataGrid.Resources>
<my:DataGrid.Columns>
<my:DataGridTextColumn Width="60" FocusManager.IsFocusScope="False" Binding="{Binding Path=pCode}" Header="Code" IsReadOnly="True" />
<my:DataGridTextColumn Width="150" Binding="{Binding pName}" Header="Description" IsReadOnly="True" />
<my:DataGridTextColumn Width="120" Binding="{Binding CloseStock}" Header="Closing Stock" IsReadOnly="True" />
<my:DataGridTextColumn Width="100" Binding="{Binding OpenStock, ValidatesOnExceptions=True}" Header="Open Stock"
EditingElementStyle="{StaticResource errorStyle}"/>
<my:DataGridTextColumn Width="150" Binding="{Binding YrlyOpenStock}" Header="Yearly Opening" IsReadOnly="True" />
</my:DataGrid.Columns>
</my:DataGrid>
非常感谢........
【问题讨论】:
标签: c# wpf wpfdatagrid