永发信息网

wpf datagrid怎么得到焦点?用datagrid.focus()不行

答案:2  悬赏:70  手机版
解决时间 2021-04-04 03:34
  • 提问者网友:山高云阔
  • 2021-04-03 08:55
如果用鼠标点WPF上的一个DataGrid控件,然后用键盘UP、Down方向键上下移动,则当前行也上下移动,但是如果用datagrid.focus()方法都焦点设置到datagrid控件,那么就不会出现上面的效果,请问这是怎么回事呢?
最佳答案
  • 五星知识达人网友:撞了怀
  • 2021-04-03 09:23
你得让里面行获得焦点
比如第一行:

var row = dataGrid.ItemsContainerGenerator.ContainerFromIndex(0) as FrameworkElement;
if(row != null)
row.Focus();
全部回答
  • 1楼网友:怙棘
  • 2021-04-03 10:20
datagrid的每行(datagridrow以及datagridcell的datacontext)都对应一个数据实体对象。hyperlink的datacontext也应该是这个数据实体。你可以在hyperlink_click的事件中把datagrid绑定的数据实体集合删除选中的数据实体(也就是hyperlink的datacontext)然后再重置datagrid的itemssource即可。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯