我在WPF中有一个带有DataGridTextColum和DataGridTemplateColum的数据网格.
<DataGridTextColumn Width="4*" IsReadOnly="True" x:Name="dataGridColumnDescription"
Header="Description" Binding="{Binding Description}">
</DataGridTextColumn>
<DataGridTemplateColumn CellStyle="{StaticResource CellEditing}" IsReadOnly="False" Width="*" Header="Value"
CellEditingTemplateSelector="{StaticResource myCellEditingTemplateSelectorValue}"
CellTemplateSelector="{StaticResource myCellTemplateSelectorValue}">
</DataGridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)
CellTemplateSelectors返回一个带有TextBlock的DataTemplate,用于Celltemplate resp.CellEditing的TextBox!
<DataTemplate x:Key="dGridStringValueTemplate">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding Path=Value}"/>
</DataTemplate>
<DataTemplate x:Key="dGridStringValueTemplateEditing">
<TextBox TextAlignment="Center" VerticalAlignment="Center" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" BorderThickness="1" Text="{Binding Path=Value, UpdateSourceTrigger=LostFocus}"/>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
现在我想在DataGridCell获得焦点时自动聚焦TextBox.用户应该能够编辑TextBox内容而无需双击单元格.
我找到了这篇文章:
DataGrid提示与技巧:单击编辑 ,我可以获取当前DataGridCell,但是如何访问内容以使文本框成为编辑内容的焦点?
这是我的风格:
<Style x:Key="CellEditing" TargetType="{x:Type DataGridCell}">
<EventSetter Event="PreviewMouseLeftButtonDown" Handler="myDataGridMain_PreviewMouseLeftButtonDown"></EventSetter>
</Style>
Run Code Online (Sandbox Code Playgroud)
这是我的事件处理程序:
private void myDataGridMain_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
DataGridCell cell = sender as DataGridCell; // cell ist not null
DataGridTemplateColumn col …Run Code Online (Sandbox Code Playgroud) 我想通过 SQL 脚本更改数据库的文件增长。对于数据库名称,我想使用一个变量。
谁能帮我编写这个 SQL Server 脚本吗?
DECLARE @db_name nvarchar(200);
SELECT @db_name = name
FROM sys.database_files
WHERE type = 0;
PRINT @db_name;
ALTER DATABASE [@db_name]
MODIFY FILE ( NAME = @db_name, FILEGROWTH = 100MB)
Run Code Online (Sandbox Code Playgroud)
谢谢....