gpt4 book ai didi

wpf - 在不丢失单元格焦点的情况下刷新 WPF DataGrid

转载 作者:行者123 更新时间:2023-12-04 08:50:21 26 4
gpt4 key购买 nike

我有一个 WPF DataGrid,其中一些数据绑定(bind)到 LINQ to SQL 实体类。一列是显示给定航类的飞行时间的时钟,该时间是使用 Flight 的部分类中的逻辑计算的。我有一个计时器,每 2 秒调用一次 datagrid.Items.Refresh 来更新时钟。

刷新工作正常,但现在我正在添加键盘快捷键。使用键盘箭头在单元格中导航可以在计时器关闭的情况下正常工作,但在启用刷新计时器的情况下,聚焦的单元格(实际上是整个数据网格)会失去焦点。

我需要以某种方式保持焦点(首选)或在 DataGrid 聚焦时禁用计时器。我什至似乎无法让后者工作。我试过了:

if (!dataGrid.IsFocused)
dataGrid.Items.Refresh();


if (!dataGrid.IsKeyboardFocused)
dataGrid.Items.Refresh();

对于计时器,但即使数据网格被聚焦,这些属性也会返回 false。

有任何想法吗?

最佳答案

最好的方法是不要使用 dataGrid.Items.Refresh() 作为更新机制。听起来底层对象已经单独更新了。如果他们实现了 INotifyPropertyChanged,您应该尝试将列的绑定(bind)模式设置为 TwoWay Binding:

<DataGridTextColumn Binding="{Binding xyz, Mode=TwoWay}"/>

关于wpf - 在不丢失单元格焦点的情况下刷新 WPF DataGrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5442830/

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