J'ai défini des éléments dans un DataTemplate DataGridTemplateColumn.CellEditing. Je veux que lorsque l'édition de la cellule se charge et affiche le modèle, le focus du clavier devrait être donné à un certain contrôle dans le modèle.Xamly définit le focus du clavier sur un élément de la cellule DataGridTemplateColumn?
Considérons cet exemple, quand vous allez en mode édition, la zone de texte n'est pas clavier concentré:
<Window x:Class="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">
<Grid>
<DataGrid Name="dg" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Title">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<TextBox Text="{Binding Title}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Value">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Note}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<TextBox Text="{Binding Note}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
Class MainWindow
Private Sub Window_Loaded(ByVal sender As Object,
ByVal e As RoutedEventArgs) Handles MyBase.Loaded
Dim data As New List(Of Item) From
{New Item,
New Item,
New Item}
dg.ItemsSource = data
End Sub
End Class
Public Class Item
Private Shared Number As Integer = 0
Sub New()
Number += 1
End Sub
Public Property Title = "Title " & Number.ToString
Public Property Note = "Note " & Number.ToString
End Class