我有一個包含很多列的數(shù)據(jù)網(wǎng)格?,F(xiàn)在通常用戶可以按 TAB 在 DataGrid 單元格中的控件之間循環(huán)。數(shù)據(jù)網(wǎng)格單元格已設(shè)置為 IsTabStop = false,因此它會跳過對單元格本身的關(guān)注,并且在將焦點分配給實際控件之前它只會失敗。如果用戶按 Enter 鍵,這似乎不起作用,因為他們想在同一列中工作。DataGrid 會將焦點傳遞到 COLUMN 中的下一個單元格,但它也會忽略 IsTabStop 設(shè)置,因此它只會將焦點放在單元格本身而不是內(nèi)部控件上。任何想法如何解決這一問題。簡短示例<DataGrid AutoGenerateColumns="False" Name="grid1" > <DataGrid.Resources> <Style TargetType="{x:Type Border}" x:Key="coloredBorder"> <Setter Property="Background" Value="Yellow"/> </Style> <Style TargetType="DataGridCell"> <Setter Property="IsTabStop" Value="False"/> </Style> </DataGrid.Resources> <DataGrid.Columns> <DataGridTextColumn Binding="{Binding A, Mode=OneWay}" Header="A"/> <DataGridTemplateColumn Header="B"> <DataGridTemplateColumn.CellStyle> <Style TargetType="{x:Type DataGridCell}" BasedOn="{StaticResource {x:Type DataGridCell}}"> <Setter Property="Template"> </DataGridTemplateColumn.CellStyle> </DataGridTemplateColumn> </DataGrid.Columns></DataGrid>此外,我在此處附加了示例 WPF 應(yīng)用程序。要重現(xiàn),請單擊組合框之一以使其成為焦點。按選項卡,您將看到下一個組合框正常獲得焦點。如果我添加了多個組合框列,右側(cè)的組合框?qū)@得焦點。但是,如果您按 Enter,焦點將轉(zhuǎn)到下面的單元格,但不會跳過該單元格并轉(zhuǎn)到單元格內(nèi)容。而是突出顯示單元格。像這樣:
- 1 回答
- 0 關(guān)注
- 439 瀏覽
添加回答
舉報
0/150
提交
取消