gpt4 book ai didi

c# - WPF Datagrid 焦点并突出显示最后一行

转载 作者:行者123 更新时间:2023-11-30 15:26:46 27 4
gpt4 key购买 nike

我想在我的数据网格中突出显示我最后新创建的行,我引用了此页面 http://social.technet.microsoft.com/wiki/contents/articles/21202.wpf-programmatically-selecting-and-focusing-a-row-or-cell-in-a-datagrid.aspx得到一些想法。

根据上面的引用链接datagrid首先得可视化。最后一排不是焦点和高光的原因,可能是这个原因造成的。

以下是我的代码结构

    private void CommitRow(object sender, DataGridRowEditEndingEventArgs e )
{
//FIRE WHEN ROW IS DONE EDIT
/*
STORING DATA TO DATABASE
*/

SelectRowByIndex(Datagrid, Datagrid.Items.Count - 1); //I refer from msdn blog
}

我试图将代码 SelectRowByIndex 放入一个按钮中,它会突出显示最后一行。因此,我相信只有当网格显示在 UI 上时,代码才会起作用。

我的问题是如何在界面显示之前突出显示最后一行?或者是否有任何其他方法可以让我聚焦并突出显示新创建的行?

最佳答案

你是对的,它不能被高亮显示,因为它还没有被渲染。

但是您可以在那里利用调度程序发挥您的优势。

 private void CommitRow(object sender, DataGridRowEditEndingEventArgs e )
{
//FIRE WHEN ROW IS DONE EDIT
/*
STORING DATA TO DATABASE
*/

Dispatcher.BeginInvoke(DispatcherPriority.Input, new Action(() =>
{
SelectRowByIndex(Datagrid, Datagrid.Items.Count - 1);
}));
}

这应该可以解决问题。它调用 Dispatcher 以在渲染之后的优先级执行此操作。从视觉上看,这应该立即发生。

关于c# - WPF Datagrid 焦点并突出显示最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28738287/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com