0
我有一個datagrid,其中第一列的單元格覆蓋了文本框。如果我用鼠標選擇「單元格」沒有問題,因爲我只能點擊文本框,但是當用鍵盤導航時,我可以導航到下面的單元格。我嘗試設置單元格樣式,但TextBox繼承了設置。當選中底下的單元格時,是否有辦法將焦點移動到文本框?如何在WPF中選擇單元格時選擇DataGrid單元格內的TextBox?
<DataGrid x:Name="buildDataGrid"
ItemsSource="{Binding BuildData}"
AutoGenerateColumns="False"
CanUserReorderColumns="False"
CanUserSortColumns="False"
CanUserResizeRows="False"
SelectionUnit="CellOrRowHeader"
CanUserAddRows="False"
CanUserDeleteRows="False"
KeyboardNavigation.TabNavigation="None"
Margin="0,0,10,0" IsReadOnly="True">
<DataGrid.CellStyle>
<Style TargetType="DataGridCell" >
<Style.Setters>
<Setter Property="IsEnabled" Value="True"/>
<Setter Property="IsHitTestVisible" Value="False" />
</Style.Setters>
</Style>
</DataGrid.CellStyle>
<DataGrid.Columns>
<DataGridTemplateColumn Header="Serial Number"
MinWidth="200"
Width="*"
x:Name="componentSerialNumberDataGridTemplate">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding SerialNumber, UpdateSourceTrigger=PropertyChanged}"
x:Name="snoTextBox"
BorderThickness="0"
Focusable="True"
GotFocus="snoTextBox_GotFocus">
<TextBox.InputBindings>
<KeyBinding Command="{Binding SerialNumberEnterCommand}"
CommandParameter="{Binding Path=Text, ElementName=snoTextBox}"
Key="Return"/>
</TextBox.InputBindings>
</TextBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
謝謝@B先生,我試過了。不幸的是,它抱怨說,「默認值類型與屬性類型'ForceFoucusBoolean''不匹配。 – Steven