You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ARP扫描器实现实时显示后前端出现空行问题求助

ARP扫描器实时显示功能引发空行问题

我开发的带GUI的ARP扫描器原本运行正常,添加主机发现实时显示功能后,扫描到在线主机时能正常插入含IP、MAC的行,但会莫名出现空行,未加实时显示前无此问题。

关联代码

后端C#代码

[后端C#代码]

前端XAML代码

[前端XAML代码]

问题截图

ARP扫描器GUI空行问题


排查方向和解决建议

  1. 过滤空数据再更新UI:实时扫描时可能生成空的IP/MAC记录,直接加到UI列表就会出现空行。在触发UI更新前加校验,只有当IP和MAC都不为空时才执行添加操作:
if (!string.IsNullOrWhiteSpace(ip) && !string.IsNullOrWhiteSpace(mac))
{
    // 执行UI列表添加操作
}
  1. 确保跨线程更新UI的安全性:WPF UI元素只能在Dispatcher线程操作,扫描线程直接修改UI控件可能导致状态异常出现空行,必须用Dispatcher包装更新逻辑:
Application.Current.Dispatcher.Invoke(() => {
    // 执行添加列表项的操作
});
  1. 检查数据绑定的重复触发:如果用了ObservableCollection这类绑定数据源,排查是否存在重复调用Add方法的情况,比如扫描逻辑误触发多次添加,或数据源重复初始化导致空项。

  2. 排查XAML布局问题:检查ListView的ItemTemplate是否有多余空白元素,或Margin、Padding设置过大导致视觉空行。确保ItemTemplate只绑定有效字段,无冗余占位布局。

内容的提问来源于stack exchange,提问作者Johny Wave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 21:34:55