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));
}

}


按回车之后

能赋值 啥的 就是显示不了输入光标。。
...全文
246 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
only_youlix 2019-12-18
  • 打赏
  • 举报
回复
引用 4 楼 exception92 的回复:
数据绑定也可以的。
数据绑定是没问题。时候跳到下一行的combobox 并显示光标。。因为光标是自己画的 所以需要自己触发事件显示。 加viewbox的话。。原本的光标 在某些分辨率下是不显示的
exception92 2019-12-17
  • 打赏
  • 举报
回复
数据绑定也可以的。
only_youlix 2019-12-16
  • 打赏
  • 举报
回复
给combobox价格load事件就好了。。。。。
only_youlix 2019-12-16
  • 打赏
  • 举报
回复
自己解决了。。
only_youlix 2019-12-13
  • 打赏
  • 举报
回复
在Windows系统,notepad.exe(记事本)是一个“经典的”、“简洁的”文本编辑器。这个软件,没有华丽的外观,也没有繁杂的功能,仅仅是一个文本编辑小软件。虽然经过Windows系统数十年的变换,但它却保持着永恒姿态,数十年来几乎不曾改变过。曾经,VS的经典DEMO,就有它的身影,一个新建的项目,就藏有一个新建的“记事本”。然而,在WPF的项目,“记事本”却消失的无影无踪,也许是很容易实现,也许是为了革新,而不愿再传承“经典”。确实,使用WPF技术再次让“记事本”复活,确实也是一件非常容易的事情。但是,如果,使用WPF技术,再搭配当下非常流行的MVVM模式呢?复活“记事本”的难度却陡然上升至很多WPF程序员为之默默叹气。而,MVVM模式是掌握WPF的最顶级技术,MVVM模式拥有的无尽的优势,让WPF相对于过往的编程模式来说,是一种革命性的创新,从而也成为大WPF项目必须的模式。但,学习难度。。。。。。在这个《WPF记事本开发详解》的课程,赵老师带领你在WPF,从零开始一步步构建MVVM模式,直到让你亲自以WPF+MVVM的方式,让这个经典的“记事本”软件从你的手“复活”。在课程,赵老师会详细讲解WPF和MVVM的各种技巧,让你从此爱上WPF+MVVM编程。

8,735

社区成员

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

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