WPF datagrid中回车切换ComboBox焦点的问题。

only_youlix 2019-12-13 10:24:45
datagrid中模板列用的是combobox 希望在第一行的combobox中按回车 能跳到第二行的combobox

不在datagrid中的话 cbx0 跳到cbx1 就写个 cbx1.Focus 就可以了。

在datagrid中咋就不行。

<hc:ComboBox FocusVisualStyle="{x:Null}" IsEditable="True" KeyDown="UIElement_OnKeyDown" Tag="car7" TextBox.SelectionChanged="Txtms_OnSelectionChanged1" GotFocus="Txtms_OnGotFocus" LostFocus="Txtms_OnLostFocus" Name="cbx0" VerticalContentAlignment="Center" tools:BorderElement.CornerRadius="0" BorderBrush="#999999" Width="293" tools:InfoElement.ContentHeight="50" FontSize="16px" Foreground="#1a1a1a" HorizontalAlignment="Left" Height="50" BorderThickness="1" DockPanel.Dock="Left" />


private void UIElement_OnKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
ComboBox cbx = sender as ComboBox;
Grid gr = cbx.Parent as Grid;

DataGridTemplateColumn templeColumn = dg.Columns[0] as DataGridTemplateColumn;
FrameworkElement s = dg.Columns[0].GetCellContent(dg.Items[int.Parse(gr.Tag.ToString()) + 1]);
var tbOper = templeColumn.CellTemplate.FindName("cbx0", s) as HandyControl.Controls.ComboBox;
//DataGridCell cell = GetCell(dg, int.Parse(gr.Tag.ToString()) + 1, 0);
//cell.IsSelected = true;
tbOper.Background = Brushes.Yellow;
tbOper.Text = "123";
tbOper.RaiseEvent(new RoutedEventArgs(ComboBox.GotFocusEvent));
}

}


按回车之后

能赋值 啥的 就是显示不了输入光标。。
...全文
285 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
only_youlix 2019-12-18
  • 打赏
  • 举报
回复
引用 4 楼 exception92 的回复:
数据绑定也可以的。
数据绑定是没问题。时候跳到下一行的combobox 并显示光标。。因为光标是自己画的 所以需要自己触发事件显示。 加viewbox的话。。原本的光标 在某些分辨率下是不显示的
  • 打赏
  • 举报
回复
数据绑定也可以的。
only_youlix 2019-12-16
  • 打赏
  • 举报
回复
给combobox价格load事件就好了。。。。。
only_youlix 2019-12-16
  • 打赏
  • 举报
回复
自己解决了。。
only_youlix 2019-12-13
  • 打赏
  • 举报
回复

8,756

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧